感叹,英语要好好学啊。。。。。
题目要求满足一一映射,就是说出现次数要相同。。。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");
}
}