reverse する系の問題
問題概要
長さ の文字列
について、
文字目から
文字目までを反転して得られる文字列を出力せよ。
制約
解法
C++ でプログラムを書くときは、通常文字列は 0 始まりですので、 からあらかじめ 1 引いておきます。
その後は、次のように実装すればよいでしょう。
の
文字目から、
文字目までを出力する
の
文字目から、
文字目までを降順に出力する
の
文字目から、
文字目までを出力する
for 文を用いて実装できます。降順に出力するときは、添字 i をデクリメント (--i というように) していきます。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N, A, B; string S; cin >> N >> A >> B >> S; --A, --B; for (int i = 0; i < A; ++i) cout << S[i]; for (int i = B; i >= A; --i) cout << S[i]; for (int i = B+1; i < N; ++i) cout << S[i]; cout << endl; }