具体怎么替换和置换都不知道,所以只需要确保频率一样即可
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char s1[105], s2[105];
int len, a[105], b[105];
int check1(char c)
{
int res = 0;
for(int i = 0; i < len; i++){
if(s1[i] == c) res++;
}
return res;
}
int check2(char c)
{
int res = 0;
for(int i = 0; i < len; i++){
if(s2[i] == c) res++;
}
return res;
}
void solve()
{
for(int i = 0; i < len; i++) a[i] = check1(s1[i]);
for(int i = 0; i < len; i++) b[i] = check2(s2[i]);
sort(a,a+len); sort(b,b+len);
int flag = 1;
for(int i = 0; i < len; i++){
if(a[i] != b[i]){
flag = 0;
break;
}
}
if(flag) printf("YES\n");
else printf("NO\n");
}
int main()
{
scanf("%s",s1);
scanf("%s",s2);
len = strlen(s1);
solve();
return 0;
}