B3958的超时解决
  • 板块学术版
  • 楼主dawei123
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/6 20:02
  • 上次更新2024/12/6 21:35:15
查看原帖
B3958的超时解决
1594901
dawei123楼主2024/12/6 20:02

如何简化程序:

#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
for(int v=0;v=t;v++){
string a,b;
cin>>a>>b;
int len1=a.length();
int len2=b.length();
if(a==b){
cout<<"similar"<<endl;	
}
else{
if(len1-len2>1 or len2-len1>1){
cout<<"not similar"<<endl;
continue;	
}
else{
if(len1==len2){
int sum=0;
for(int i=0;i<len1;i++){
if(a[i]=!b[i]) sum++;
if(sum>1){
cout<<"not similar"<<endl;
break;	
}	
}
if(sum==0 or sum==1)	cout<<"similar";
}
else{
int len;
if(len1>len2){
len=len2;
}
else{
len=len1;	
}
int p=0,q=0;
for(int i=0;i<len;i++){
if(a[i+p]!=b[i]) p=1;
if(a[i+p]!=b[i]){
q=1;
cout<<"not similar"<<endl;
break;	
}
}
if(q==0) cout<<"similar"<<endl;	
}
	
}
}
}
return 0;	
}

这个程序两个测试点都超了0.2秒

2024/12/6 20:02
加载中...