寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

Aizu Online Judge in C++ #Volume6 - 0667 : Inversion of a String

Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。

・問題 "Inversion of a String"
https://onlinejudge.u-aizu.ac.jp/problems/0667
文字列 S と,2 つの整数 A,B が与えられたとき,S のうち A 文字目から B 文字目までの文字の並びを逆にしてできる文字列を出力するプログラムを作成せよ.

僕が作成、提出したコードは、以下のとおりです。

Aizu Online Judge in C++ #Volume6 - 0667 : Inversion of a String
/*
Aizu Online Judge in C++ #Volume6 - 0667 : Inversion of a String
https://onlinejudge.u-aizu.ac.jp/problems/0667
 提出コードの解答例
 https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int n,a,b;
    cin>>n>>a>>b;
    string s;
    cin>>s;
    string t=s.substr(a-1,b-a+1);
    s.erase(a-1,b-a+1);
    reverse(t.begin(),t.end());
    s.insert(a-1,t);
    cout<<s<<endl;
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/