为什么80分呢?-?
查看原帖
为什么80分呢?-?
737322
233330403LYYdoge楼主2022/8/8 18:08
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int q,n,x,y,m=0,z,k=0;
	string a[1000],b;
	cin>>q;
	cin>>a[m];
	for(int i=1;i<=q;i++)
	{
		cin>>n;
		if(n==1){
			cin>>b;
			a[m]+=b;
			cout<<a[m]<<endl;
		}
		if(n==2){
			cin>>x>>y;
			for(int j=x;j<=x+y-1;j++)
			{
				a[m+1]+=a[m][j];
			}
			m+=1;
			cout<<a[m]<<endl;
		}
		if(n==3){
			cin>>z;
			cin>>b;
			for(int j=0;j<z;j++)
			{
				a[m+1]+=a[m][j];
			}
			a[m+1]+=b;
			for(int j=z;j<a[m].size();j++)
			{
				a[m+1]+=a[m][j];
			}
			m+=1;
			cout<<a[m]<<endl;
		}
		if(n==4){
			cin>>b;
			for(int j=0;j<a[m].size();j++)
			{
				if(b[k]==a[m][j]){
					for(k=0;k<b.size();k++)
					{
						if(b[k]!=a[m][j+k])break;
						if(j+k>=a[m].size())break;
					}
					if(k!=b.size()){
						k=0;
					}
					else {
						cout<<j<<endl;
						break;
					}
				}
			}
			if(k!=b.size()){
				cout<<"-1"<<endl;
			}
			k=0;
		}
	}
	return 0;
}
2022/8/8 18:08
加载中...