替换加密和移位加密不改变字符的出现频率,只要字符出现频率相同就可以确定.
Source:
#include<iostream>
using namespace std;
char enc[150],str[150];
int pe[30],ps[30],pp[150];
int main()
{
int l,i;
cin>>enc>>str;
l=strlen(enc);
memset(pe,0,30*sizeof(int));
memset(ps,0,30*sizeof(int));
memset(pp,0,150*sizeof(int));
for(i=0;i<l;++i)
{
pe[enc[i]-'A']++;
ps[str[i]-'A']++;
}
for(i=0;i<26;++i)
{
pp[pe[i]]++;
pp[ps[i]]--;
}
for(i=0;i<=l && pp[i]==0;++i);
if(i>l)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
return 0;
}