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 ;
}

 

你可能感兴趣的:(poj)