0x00 Link
-
Source
-PTA
-
Tag
-芝士水题
模拟
-
Time
- ∗ * ∗
0x01 Source Code
//
#include <bits/stdc++.h>
using namespace std;
// #define int long long
#define IOS ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define endl '\n'
void solve() {
string s;
cin >> s;
int n;
cin >> n;
while (n--) {
int a, b;
cin >> a >> b;
a--, b--;
string s1, s2;
cin >> s1 >> s2;
string tt = s.substr(a, b - a + 1);
s = s.substr(0, a) + s.substr(b + 1);
// 查找字符串时区分大小写。
// 如果有多个可插入的位置,选择最靠近当前操作字符串开头的一个。
// 如找不到应该插入的位置,则直接将插入位置设置为字符串最后,仍然完成插入操作。
int idx1 = s.find(s1 + s2); // 拼接查找更方便
int idx2 = idx1 + s1.size();
if (idx1 == -1) {
s += tt;
} else {
s = s.substr(0, idx2) + tt + s.substr(idx2);
}
}
cout << s << endl;
}
signed main() {
IOS
int t = 1;
// cin >> t;
while (t--) solve();
return 0;
}
0x10 Diagram
-
404
0x11 Reference
作者 | 乐意奥AI