0分求调
查看原帖
0分求调
1070431
ywtank楼主2024/12/2 12:32
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    getchar();
    for(int i=1;i<=n;i++){
    	bool flag=false;
    	string a,b;
    	getline(cin,a,' ');
    	getline(cin,b,'\n');
    	int sum=0;
    	int la=a.size(),lb=b.size();
    	int ma=max(a.size(),b.size());
    	for(int i=0;i<ma;i++){
    		if(i>=a.size() || i>=b.size())sum++;
    		if(a[i]!=b[i])sum++;
		}
		if(abs(la-lb)>=2){
			cout << "not similar\n";
			flag=true;
			continue;
		}
		if(abs(la-lb)==1){
			if(a.size()>b.size()){
				for(int j=0;j<=b.size();j++){
					string c=b;
					string h;
					h+=a[j];
					c.insert(j,h);
					if(a==c){
						cout << "similar\n";
						flag=true;
						break;
					}
				}
				cout << "not similar\n";
				flag=true;
				continue;
			}else{
				for(int j=0;j<=a.size();j++){
					string c=a;
					string h;
					h+=b[j];
					c.insert(j,h);
					if(b==c){
						cout << "similar\n";
						flag=true;
						break;
					}
				}
				cout << "not similar\n";
				flag=true;
				continue;
			}
		}
		if(flag)continue;
		if(sum<=1){
			cout << "similar\n";
			continue;
		}else{
			cout << "not similar\n";
			continue;
		}
	}
    return 0;
}

help me!

2024/12/2 12:32
加载中...