POJ 2159

代码
//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;
}

 

posted @ 2010-10-01 10:59  北海小龙  阅读(256)  评论(0编辑  收藏  举报