#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
//排列时可以任意换位置,所以位置是无所谓的,只要字符能对应即可。
//字符的变换规则是一个字符对应另一个字符。如果第一个字符串中某个字符出现了四
//次,第二个字符串中没有出现过四次的字符,则一定不可能变换成功。也就是说,只
//要两个字符串中出现过i次的字符个数相同即可
char str1[110],str2[110];
int ch1[26],ch2[26];//字符串中每个字母出现的次数
int result[110];//result[i]表示字符串中,出现过i次的字母有几个
int main(){
scanf("%s%s",str1,str2);
int l1=strlen(str1),l2=strlen(str2);
if(l1!=l2){
printf("NO");
return 0;
}
for(int i=0;i<l1;i++){
ch1[str1[i]-'A']++;
ch2[str2[i]-'A']++;
}
for(int i=0;i<26;i++){
result[ch1[i]]++;
result[ch2[i]]--;
}
bool flag=false;
for(int i=0;i<110;i++) if(result[i]!=0) flag=true;
if(flag==false) printf("YES");
else printf("NO");
return 0;
}
POJ古代密码
最新推荐文章于 2022-11-10 18:45:19 发布