zero分,九九我……
查看原帖
zero分,九九我……
1307445
Littlecowr楼主2024/12/1 17:42
#include <bits/stdc++.h>
using namespace std;
string a,b;
int t;
bool s_sm(string s1,string s2){
	if(s1==s2) return 1;
	return 0;
}
int s_sz_lk(string s1,string s2){
	return int(s1.size()-s2.size());
}
bool s_del(string s1,string s2){
	bool flag=0;
	int l=s2.size(),num=-1;
	for(int i=0;i<l;i++){
		if(s1[++num]!=s2[i]){
			if(!flag){
				flag=1;
				num++;
			}
			else return 0;
		}
	}
	return 1;
}
bool s_put(string s1,string s2){
	bool flag=0;
	int l=s1.size(),num=-1;
	for(int i=0;i<l;i++){
		if(s2[++num]!=s1[i]){
			if(!flag){
				flag=1;
				num++;
			}
			else return 0;
		}
	}
	return 1;
}
bool s_chng(string s1,string s2){
	bool flag=0;
	int l=s1.size();
	for(int i=0;i<l;i++){
		if(s1[i]!=s2[i]){
			if(!flag) flag=1;
			else return 0;
		}
	}
	return 1;
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin>>t;
	for(int i=1;i<=t;i++){
		cin>>a>>b;
		if(s_sm(a,b)) cout<<"similar\n";
		else{
			if(s_sz_lk(a,b)==1&&s_del(a,b)) cout<<"similar\n";
			else if(s_sz_lk(a,b)==-1&&s_put(a,b)) cout<<"similar\n";
			else if(!s_sz_lk(a,b)&&s_chng(a,b)) cout<<"similar\n";
			else cout<<"not similar\n";
		}
	}
	return 0;
}

函数较多,勿喷

2024/12/1 17:42
加载中...