c++,为啥我看的测试数据是对的,他说是错的求解
查看原帖
c++,为啥我看的测试数据是对的,他说是错的求解
538273
lt1526679338楼主2023/6/6 00:39
#include<iostream>
#include<string>
using namespace std; 
string one(string s1,string s2){
	return s1+s2;
}
string two(string s,int a,int b){
	char ans[1000];
	int j=0;
	for(int i=a;i<a+5;i++){
		ans[j++]=s[i];
	}
	return ans;
}
string three(string s1,string s2,int a){
	char ans[1000];
	for(int i=0;i<(s1.size()+s2.size());i++){
		if(i<a)
			ans[i]=s1[i];
		else if(i==a){
		for(int j=0;j<s2.size();j++){
			ans[i++]=s2[j];
		}
		for(int z=a;z<s1.size();z++){
			ans[i++]=s1[z];
		}
	}
	}
	return ans;
}
int four(string s1,string s2){
	int lenth=s2.size();
	for(int i=0;i<s1.size();i++){
		int temp=i;
		int j;
		for(j=0;j<s2.size();j++){
			if(s1[temp++]!=s2[j])
				break;
		}
		if(j==lenth)
			return i;
	}
	return -1;
}
int main(){
	int n;
	string s;
	cin>>n>>s;
	for(int i=0;i<n;i++){
		int number;
		cin>>number;
		if(number==1){
			string s1;
			cin>>s1;
			s=one(s,s1);
			cout<<s<<endl;
		} 
		else if(number==2){
			int a,b;
			cin>>a>>b;
			s=two(s,a,b);
			cout<<s<<endl;
		}
		else if(number==3){
			int a;
			string s1;
			cin>>a>>s1;
			s=three(s,s1,a);
			cout<<s<<endl;
		}
		else if(number==4){
			string s1;
			int temp;
			cin>>s1;
			temp=four(s,s1);
			cout<<temp<<endl;
		}
	}
	return 0;
}
2023/6/6 00:39
加载中...