B - 文字列の反転 | AtCoder Beginner Contest 018
B - 文字列の反転 | AtCoder Beginner Contest 018
解法
問題文どおりに番目と番目の間の文字列を反転する.
コーナーケース検討
1文字目が0番目ではなく1から始まっていることに注意.
またreverse()の引数の指定の仕方にも注意.
実装
入力を受けるとともに処理をすればl,rは以下のように再利用できる.
string S; cin >> S;
int N; cin >> N;
int l, r;
auto itr = S.begin();
REP(i, N) {
cin >> l >> r;
reverse(itr + (l - 1), itr + r);
}
cout << S << endl;