nick360 @ 2024-08-25 23:42:41
只有最后两个点过了,但是样例完全没有问题【哭】
#include<stdio.h>
#include<string.h>
void o1(char a[],char b[]){
strcat(a,b);
printf("%s\n",a);
}
void o2(char a[],int aa,int bb){
char cc[101];
for(int didi=aa;didi<aa+bb;didi++) cc[didi-aa]=a[didi];
cc[bb]='\0';
strcpy(a,cc);
printf("%s\n",a);
}
void o3(char a[],int t,char b[]){
char c[101];
for(int i=0;i<t;i++) c[i]=a[i];
strcat(c,b);
for(int jiji=t;jiji<strlen(a);jiji++) c[jiji+strlen(b)]=a[jiji];
strcpy(a,c);
printf("%s\n",a);
}
int find(const char a[],const char b[]){
for(int i=0;i<strlen(a);i++){
if(a[i]==b[0]){
int pd=1;
for(int ks=i;ks<i+strlen(b);ks++){
if(a[ks]!=b[ks-i]){
pd=0;
break;
}
}
if(pd) return i;
}
}
return -1;
}
int main(void){
int q,opt;
char a[101];
scanf("%d\n%s",&q,a);
for(int times=0;times<q;times++){
scanf("%d",&opt);
if(opt==1){
char b[101];
scanf("%s",b);
o1(a,b);
}
else if(opt==2){
int aa,bb;
scanf("%d %d",&aa,&bb);
o2(a,aa,bb);
}
else if(opt==3){
int t;
char b[101];
scanf("%d",&t);
scanf("%s",b);
o3(a,t,b);
}
else if(opt==4){
char b[101];
scanf("%s",b);
int ans=find(a,b);
if(ans==-1) printf("-1\n");
else printf("%d\n",ans);
}
}
return 0;
}
by Wrong_404error @ 2024-09-18 18:38:29