蒟蒻求助
查看原帖
蒟蒻求助
351740
Sai_t楼主2021/4/18 10:25

是我思路错了吗

#include<bits/stdc++.h>
using namespace std;
int t,n;string s1,s2,s3;
string run(string a,string b){
	int pos=0;
	for(int i=0;i<2*n;i++){
		while(pos<2*n && a[pos]!=b[i])pos++;
		if(pos==2*n){
			for(int j=i;j<2*n;j++)a+=b[j];
			return a;
		}
		pos++;
	}
	return a;
}
int main(){
	cin>>t;
	while(t--){
		cin>>n;
		cin>>s1>>s2>>s3;
		int a=run(s1,s2).size(),b=run(s1,s3).size(),c=run(s2,s3).size(),d=run(s2,s1).size(),e=run(s3,s1).size(),f=run(s3,s2).size();
		if((int)(a)<=3*n){
			cout<<run(s1,s2)<<endl;continue;
		}
		if((int)(b)<=3*n){
			cout<<run(s1,s3)<<endl;continue;
		}
		if((int)(c)<=3*n){
			cout<<run(s2,s3)<<endl;continue;
		}
		if((int)(d)<=3*n){
			cout<<run(s2,s1)<<endl;continue;
		}
		if((int)(e)<=3*n){
			cout<<run(s3,s1)<<endl;continue;
		}
		if((int)(f)<=3*n){
			cout<<run(s3,s2)<<endl;continue;
		}
	}
	return 0;
}
2021/4/18 10:25
加载中...