枚举安静字母再删不行吗
#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;
}