题意:
判断两个句子能否通过换位与替值得到.
只要重复出现的字母的个数相同就行
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int astr[30], bstr[30];
int cmp(int a, int b) {
return a > b;
}
int main() {
char a[100], b[100];
while(scanf("%s", a) != EOF) {
memset(astr, 0, sizeof(astr));
memset(bstr, 0, sizeof(bstr));
int flag = 0;
scanf("%s", b);
for(int i=0; i<strlen(a); i++) {
astr[a[i]-'A']++;//重叠的字母的数量相同即可
bstr[b[i]-'A']++;
}
sort(astr, astr+26,cmp);
sort(bstr, bstr+26,cmp);
for(int i=0; i<26; i++) {
if(astr[i] != bstr[i]) {
printf("NO\n");
flag = 1;
break;
}
}
if(flag) continue;
printf("YES\n");
}
return 0;
}