LA 3213 - Ancient Cipher
感叹,英语要好好学啊。。。。。
题目要求满足一一映射,就是说出现次数要相同。。。T T
所以统计次数然后排序。。比较。。。。
#include <cstdio> #include<cstring> #include<algorithm> using namespace std; const int MAXN=100+10; char a[MAXN],b[MAXN]; int num_a[26],num_b[26]; bool ok(char a[],char b[]) { int len=strlen(a); memset(num_a,0,sizeof(num_a)); memset(num_b,0,sizeof(num_b)); for(int i=0;i<len;i++) { num_a[a[i]-'A']++; num_b[b[i]-'A']++; } sort(num_a,num_a+26); sort(num_b,num_b+26); for(int i=0;i<26;i++) { if(num_a[i]!=num_b[i]) return false; } return true; } int main() { while(scanf("%s%s",a,b)!=EOF) { if(ok(a,b)) printf("YES\n"); else printf("NO\n"); } }
新 blog : www.hrwhisper.me