1 条题解

  • 0
    @ 2025-9-6 13:38:22

    C++ :

    #include<bits/stdc++.h>
     
    using namespace std;
    typedef long long ll;	// 严格要求
    void func1(string s1, string s2, ll d1, ll d2){
    	ll sum = 0;
    	for(int i = 0, j = 0; i <= d1 && j <= d2; i++, j++){
    		if(s1[i] != s2[j]){
    			sum++;
    			j--;
    		}
    	}
    	if(sum >= 2){
    		cout << "not similar" << endl;
    	}
    	else{
    		cout << "similar" << endl;
    	}
    }
    void func2(string s1, string s2, ll d1, ll d2){
    	ll sum = 0;
    	for(int i = 0, j = 0; i <= d1 && j <= d2; i++, j++){
    		if(s1[i] != s2[j]){
    			sum++;
    		}
    	}
    	if(sum >= 2){
    		cout << "not similar" << endl;
    	}
    	else{
    		cout << "similar" << endl;
    	}
    }
    void func3(string s1, string s2, ll d1, ll d2){
    	ll sum = 0;
    	for(int i = 0, j = 0; i <= d1 && j <= d2; i++, j++){
    		if(s1[i] != s2[j]){
    			sum++;
    			i--;
    		}
    	}
    	if(sum >= 2){
    		cout << "not similar" << endl;
    	}
    	else{
    		cout << "similar" << endl;
    	}
    }
    void func(string s1, string s2){
    	ll d1 = s1.size();
    	ll d2 = s2.size();
    	if(abs(d1 - d2) <= 1){
    		if(d1 > d2){
    			func1(s1, s2, d1, d2);
    		}
    		else if(d1 == d2){
    			func2(s1, s2, d1, d2);
    		}
    		else if(d1 < d2){
    			func3(s1, s2, d1, d2);
    		}
    	}
    	else{
    		cout << "not similar" << endl;
    	}
    }
    int main(){
    	ios :: sync_with_stdio(0);	// 提高cin、cout的运行速度
    	ll n;
    	cin >> n;
    	
    	while(n--){
    		string s1, s2;
    		cin >> s1 >> s2;
    		func(s1, s2);
    	}
     
        return 0;
    }
     
     
    
    • 1

    信息

    ID
    5531
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者