好题啊,坑死我了
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <map>
#include <algorithm>
using namespace std;
char str[105];
char pt[105];
int num1[30];
int num2[30];
int main()
{
char s;
while(cin>>str)
{
int ans = 0;
bool flag = false;
cin>>pt;
int len1 = strlen(str);
int len2 = strlen(pt);
memset(num1,0,sizeof(num1));
memset(num2,0,sizeof(num2));
if(len1 != len2)
flag = true;
if(!flag)
{
for( int i = 0; i<len1; i++)
num1[str[i]-'A']++;
for( int j = 0; j<len2; j++)
num2[pt[j]-'A']++;
sort(num1,num1 + 30);
sort(num2,num2 + 30);
for( int i = 29; i >= 0; i--)
{
if(num1[i] != num2[i])
{
flag = true;
break;
}
}
}
if(!flag)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}