问题
查看原帖
问题
1007282
hehaorui楼主2024/10/10 21:49

枚举安静字母再删不行吗

#include<bits/stdc++.h>
using namespace std;
char a[500005],b[500005];
map<char,bool>mp,mp1;
int lena,lenb;
int main()
{
//	freopen("hhr.in","r",stdin);
//	freopen("hhe.out","w",stdout);
	cin>>a+1>>b+1;
	lena=strlen(a+1),lenb=strlen(b+1);
	if(lena==lenb)
	{
		for(int i=1;i<=lena;i++)
			if(a[i]!=b[i])
			{
				cout<<a[i]<<" "<<b[i]<<"\n-\n";
				return 0;
			}
	}
	for(int i=1;i<=lenb;i++)
		mp[b[i]]=1;
	for(int i=1;i<=lena;i++)
		mp1[a[i]]=1;
	for(char want='a';want<='z';want++)
	{
		if(mp[want]||!mp1[want])
			continue;
		vector<char>v;
		for(int i=1;i<=lena;i++)
			if(a[i]!=want)
				v.push_back(a[i]);
		int lll=v.size();
		if(lll!=lenb)
			continue; 
		for(int i=0;i<lll;i++)
			if(v[i]!=b[i+1])
			{
				cout<<v[i]<<" "<<b[i+1]<<"\n"<<want<<"\n";
				return 0;
			}
	}
	return 0;
}
2024/10/10 21:49
加载中...