80分求助(玄关)
查看原帖
80分求助(玄关)
1199534
ycy1124楼主2024/2/23 13:49
#include<bits/stdc++.h>
using namespace std;
char a[5000];
char b[100];
int main()
{
	int n,lena,lenb,m,c,d;
	cin>>n;
	cin>>a;
	bool w;
	for(int i=0;i<n;i++)
	{
		lena=strlen(a);
		cin>>m;
		if(m==1)
		{
			cin>>b;
			lenb=strlen(b);
			for(int k=0;k<lenb;k++)
			{
				a[lena+k]=b[k];
			}
			for(int k=0;k<lena+lenb;k++)
			{
				cout<<a[k];
			}
		}
		else if(m==2)
		{
			cin>>c>>d;
			for(int k=c;k<c+d;k++)
			{
				a[k-c]=a[k];
			}
			for(int k=d;k<=lena;k++)
			{
				a[k]=' ';
			}
			lena=strlen(a);
			for(int k=0;k<lena;k++)
			{
				cout<<a[k];
			}	
		}
		else if(m==3)
		{
			cin>>c>>b;
			lenb=strlen(b);
			for(int k=lena-1;k>=c;k--)
			{
				a[k+lenb]=a[k];
			}
			lena+=lenb;
			for(int k=c;k<=c+lenb-1;k++)
			{
				a[k]=b[k-c];
			}
			for(int k=0;k<lena;k++)
			{
				cout<<a[k];
			}
		}
		else if(m==4)
		{
			cin>>b;
			lenb=strlen(b);
			w=1;
			for(int k=0;k<=lena-lenb;k++)
			{
				w=1;
				for(int j=k;j<k+lenb;j++)
				{
					if(a[j]!=b[j-k])
					{
						w=0;
					}
				}
				if(w)
				{
					cout<<k;
					break;
			    }
			}
			if(w==0)
				cout<<-1;
		}
		cout<<endl;
	}
	return 0;
}
2024/2/23 13:49
加载中...