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;
}
posted @ 2024-09-03 15:30  Frodnx  阅读(28)  评论(0)    收藏  举报