B - 文字列の反転 | AtCoder Beginner Contest 018

less than 1 minute read

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;

Submission

データ構造・アルゴリズム