60分的勾石

P5734 【深基6.例6】文字处理软件

Greeper @ 2024-07-25 15:59:54

#include<bits/stdc++.h>
using namespace std;
string a,b,c;
int f;
int l,r;
int n;
int main()
{
    cin>>n;
    cin>>a;
    for(int s=1;s<=n;s++)
    {
        cin>>f;
        if(f==1)
        {
            cin>>c;
            a+=c;
            cout<<a<<endl;
        }
        if(f==2)
        {
            cin>>l>>r;
            b=a;
            a="";
            for(int i=l;i<=r+l-1;i++)
            {
                a+=b[i];
            }
            cout<<a<<endl;
        }
        if(f==3)
        {
            cin>>l>>c;
            b=a;
            a="";
            int s=b.size();
            for(int i=0;i<s;i++)
            {
                if(i==l)
                {
                    a+=c;
                }
                a+=b[i];

            }
            cout<<a<<endl;
        }
        if(f==4)
        {
            cin>>c;
            bool cu=1;
            for(int i=0;i<int(a.size()-c.size());i++)
            {
                bool flag=1;
                for(int j=0;j<int(c.size());j++)
                {
                    if(a[i+j]!=c[j])
                    {
                        flag=0;
                        break;
                    }
                }
                if(flag)
                {
                    cout<<i<<endl;
                    cu=0;
                    break;
                }
            }
            if(cu)
            {
                cout<<-1<<endl;
            }
        }
    }
    return 0;
}

|