Asa's Website

D - Transformation

cpaojitp1

最終更新日

Table of Contents

Loading...

問題

https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/9/ITP1_9_D

問題文

文字列 strstr に対して、命令が与えられるので実行してね。

ただし、0-indexed。

制約

サンプル

I/O 1

abcde 3 replace 1 3 xyz reverse 0 2 print 1 4
xaze

I/O 2

xyz 3 print 0 2 replace 0 2 abc print 0 2
xyz abc

考察

制約が小さめなので、そのまま頑張って実装する。

コード

https://onlinejudge.u-aizu.ac.jp/status/users/a01sa01to/submissions/1/ITP1_9_D/judge/6370910/C++17

int main() { string s; cin >> s; int n; cin >> n; while (n--) { string op; cin >> op; if (op == "print") { int a, b; cin >> a >> b; for (int i = a; i <= b; ++i) cout << s[i]; cout << endl; } else if (op == "reverse") { int a, b; cin >> a >> b; reverse(s.begin() + a, s.begin() + b + 1); } else { int a, b; string p; cin >> a >> b >> p; rep(i, p.size()) s[a + i] = p[i]; } } return 0; }