四十分蒟蒻求助
查看原帖
四十分蒟蒻求助
523553
cxzhyf楼主2023/5/15 18:15

自测没问题,提交只有40

双手奉上:

#include<bits/stdc++.h>
using namespace std;
int n,na,nb;
char a[206],b[206];
void hc()
{
	int i;
	cin>>b;
	na=strlen(a);
	nb=strlen(b);
	for(i=na;i<na+nb;i++) a[i]=b[i-na];
	na+=nb;
	for(i=0;i<na;i++) cout<<a[i];
	cout<<endl;
}
void bl()
{
	int i,x,y;
	cin>>x>>y;
	for(i=x;i<x+y;i++) a[i-x]=a[i];
	na=y;
	for(i=0;i<na;i++) cout<<a[i];
	cout<<endl;
}
void zj()
{
	int i,x;
	cin>>x>>b;
	nb=strlen(b);
	for(i=x;i<na;i++) a[i+nb]=a[i];
	for(i=x;i<x+nb;i++) a[i]=b[i-x];
	for(i=0;i<na+nb;i++) cout<<a[i];
	cout<<endl;
}
void cz()
{
	int i,j,zt;
	cin>>b;
	nb=strlen(b);
	for(i=0;i<=na;i++){
		zt=1;
		if(a[i]==b[0]){
			for(j=1;j<nb;j++)
				if(a[i+j]!=b[j]){
					zt=0;
					break;
				}
			if(zt==1){
				cout<<i<<endl;
				return;
			}
		}
	}
	cout<<-1<<endl;
	return;
}
int main()
{
	int i,t;
	cin>>n>>a;
	for(i=0;i<n;i++){
		cin>>t;
		switch(t){
			case 1:hc();break;
			case 2:bl();break;
			case 3:zj();break;
			case 4:cz();break;
		}
	}
	return 0;
} 
2023/5/15 18:15
加载中...