#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
const int MAX_N = 101;
char s1[MAX_N];
char s2[MAX_N];
int cnt1[26]; // 统计两个字符串中每个字母出现的次数
int cnt2[26];
int cmp(const void *a, const void *b){
return *(int *)a - *(int *)b;
}
int main(){
while(scanf("%s%s", s1, s2) == 2) {
memset(cnt1, 0, sizeof(cnt1));
memset(cnt2, 0, sizeof(cnt2));
for(int i = 0; i < strlen(s1); i++) {
if(s1[i] == 'Z') {
s1[i] = 'A';
} else {
s1[i] += 1;
}
}
for(int i = 0; i < strlen(s1); i++) {
cnt1[s1[i] - 'A']++;
cnt2[s2[i] - 'A']++;
}
qsort(cnt1, 26, sizeof(int), cmp);
qsort(cnt2, 26, sizeof(int), cmp);
bool flag = true;
for(int i = 0; i < 26; i++) {
if(cnt1[i] != cnt2[i]) flag = false;
}
if(flag) printf("YES\n");
else printf("NO\n");
}
return 0;
}
例题4-1 古老的密码(Ancient Cipher, NEERC 2004, UVa1339)
最新推荐文章于 2021-11-08 18:50:37 发布