L1-094 剪切粘贴 分数 15
#include <bits/stdc++.h>
using namespace std;
string func(string s, int x, int y, string s1, string s2)
{
x--,y--;
string mid(s,x,y-x+1);
s.erase(x,y-x+1);
string tar = s1 + s2;
if(s.find(tar,0) != -1)
{
s.insert(s.find(tar,0)+(int)s1.size(),mid);
return s;
}
s += mid;
return s;
}
int main()
{
string str;
cin >> str;
int n;
cin >> n;
for(int i = 1; i <= n; ++ i)
{
int x, y;
cin >> x >> y;
string s1, s2;
cin >> s1 >> s2;
str = func(str, x, y, s1, s2);
}
cout << str << endl;
return 0;
}
浙公网安备 33010602011771号