poj2159题目描述:题目前面很长一大段都没有很大的意义,而且很坑啊,其实跟凯撒加密和乱序加密没有多大关系,所以不用知道乱序列等,都是混淆视听~~~,该题的关键就是只要知道原来信息和加密后的信息中字母的频数相同则为YES~~
代码:
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(void)
{
int i;
int cipher[26],clear[26];
memset(cipher,0,sizeof(cipher));
memset(clear,0,sizeof(clear));
string input;
cin>>input;
for(i=0;i<input.length();i++)
{
cipher[input[i]-'A']++;
}
cin>>input;
for(i=0;i<input.length();i++)
{
clear[input[i]-'A']++;
}
sort(cipher,cipher+26);
sort(clear,clear+26);
for(i=0;i<26;i++)
if(cipher[i]!=clear[i])
{
cout<<"NO"<<endl;
return 0;
}
cout<<"YES"<<endl;
return 0;
}