社区讨论

求改错,样例的第二个点过不去

B3958[GESP202403 四级] 相似字符串参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mhj0ibvg
此快照首次捕获于
2025/11/03 18:43
4 个月前
此快照最后确认于
2025/11/03 18:43
4 个月前
查看原帖
CPP
#include<iostream>
#include<cstring>
using namespace std;
int main(){
	int n;
	cin>>n;
	while(n--){
		string a,b;
		cin>>a>>b;
		a+=' ';
		b+=' ';
		int ans=0;
		int len=max(a.length(),b.length());
		for(int i=0;i<len;i++){
			if(a[i]==' ')a+=' ';
			if(b[i]==' ')b+=' ';
		}
		for(int i=0;i<len;i++){
			if(a[i]!=b[i]){
				string c,d;
				c=a;
				d=b;
				c.erase(i,1);
				d.erase(i,1);
				if(c==d){
					ans+=1;
					a.erase(i,1);
					b.erase(i,1);
				}
				else{
					c=a;
					d=b;
					c.erase(i,1);
					if(c==d){
						ans+=1;
						a.erase(i,1);
					}
					else{
						c=a;
						d=b;
						d.erase(i,1);
						if(c==d){
							ans+=1;
							b.erase(i,1);
						}
						else{
							ans+=2;
						}
					}
				}
			}
		}
		if(ans>1){
			cout<<"not similar"<<endl;
			cout<<ans<<" "<<a<<" "<<b;			
		}
		else{
			cout<<"similar"<<endl;
		}
	}
}

回复

1 条回复,欢迎继续交流。

正在加载回复...