POJ 2159
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//POJ 2159
//题目类型:数学题
//题目理解:只要两个字符串各自含有的不同的字母的个数相等就行了
#include <iostream>
#include <stdio.h> //G++必须引入使用prinf等必须引入此库
//#include <conio.h>
using namespace std;
int main()
{
//freopen("1.txt","r",stdin);
int original[27]={0};
int encrypted[27]={0};
int cntorigin[101]={0};
int cntencry[101]={0};
char temp;
while((temp=getchar())!='\n')
encrypted[temp-'A'+1]++; //统计每个字母的出现次数
while((temp=getchar())!='\n')
original[temp-'A'+1]++;
for(int i=1;i<27;++i)
{
cntorigin[original[i]]++; //统计出现i次的频数
cntencry[encrypted[i]]++;
}
for(int j=1;j<101;++j)
{
if(cntorigin[j]!=cntencry[j]) //进行比较
{
printf("NO\n");
//getch();
return 0;
}
}
printf("YES\n");
//getch();
return 0;
}