#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAX 100+10
int comp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int main()
{
char s1[MAX],s2[MAX];
int cnt1[26],cnt2[26];
while(scanf("%s%s",s1,s2)!=EOF)
{
int l=strlen(s1);
memset(cnt1,0,sizeof(cnt1));
memset(cnt2,0,sizeof(cnt2));
for(int i=0;i<l;i++)
{
cnt1[s1[i]-'A']++;
cnt2[s2[i]-'A']++;
}
qsort(cnt1,26,sizeof(cnt1[0]),comp);
qsort(cnt2,26,sizeof(cnt2[0]),comp);
printf("%d %d\n",cnt1,cnt2);
for(int i=0;i<26;i++)
{
if(cnt1[i]!=cnt2[i])
{
printf("NO\n");
return 0;
}
}
printf("YES\n");
}
return 0;
}
本代码还有C++版。