涉及古典密码学的置位密码和置换密码,先借鉴别人的看看。
程序引用自http://cavenkaka.iteye.com/blog/1176257
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string a;
getline(cin, a);//获取密文输入流
string b;
getline(cin, b);
int c[26];
int d[26];
memset(c, 0, sizeof(c));
memset(d, 0, sizeof(d));
for(int i = 0; i < a.length(); i++)
{
c[a[i] - 'A']++;
}
for(int i = 0; i < b.length(); i++)
{
d[b[i] - 'A']++;
}
sort(c, c+26);
sort(d, d+26);
bool ok = true;
if(a.length() == b.length())
{
for(int i = 0; i < 26; i++)
{
if(c[i] != d[i])
ok = false;
}
if(ok)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
else
cout<<"NO"<<endl;
return 0;
}