题意:古代有两种对信息进行加密的方式,一种是明码按照字母表平移n次得到密码,这个n不一定为1,真是坑死了。第二种是将明码按照某个序列乱序排列。两种加密方法只用一种容易被破解,所以两种一起用了。题目要求输入两个长度相等且不超过一百个字符的字符串,判断第一个能否由第二个按照加密两种加密方式得来
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int num[26],num2[26];
int main()
{
string s1,s2;
cin>>s1>>s2;
for(int i=0;i<s1.size();i++)
{
num[s1[i]-'A']++;
num2[s2[i]-'A']++;
}
sort(num,num+26);
sort(num2,num2+26);
for(int i=0;i<26;i++)
{
if(num[i]!=num2[i])
{
cout<<"NO"<<endl;
return 0;
}
}
cout<<"YES"<<endl;
return 0;
}