題意有點不好讀,第一種是凱撒密碼,第二種是改變字元的序列,這2種方式同時使用,判斷str1能否轉換為str2,看起來好像感覺很難的樣子,其實很簡單,我也不好說,直接看代碼吧。
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main(void)
{
int num1[26],num2[26];
char str[101];
scanf("%s",str);
int len = strlen(str);
memset(num1,0,sizeof(num1));
memset(num2,0,sizeof(num2));
for(int i=0;i<len;++i)
{
num1[str[i]-'A']++;
}
scanf("%s",str);
len = strlen(str);
for(int i=0;i<len;++i)
{
num2[str[i]-'A']++;
}
bool flag = false;
sort(num1,num1+26);
sort(num2,num2+26);
for(int i=0;i<26&&!flag;++i)
{
if(num1[i]!=num2[i])
{
flag = true;
}
}
if(flag)
{
cout<<"NO"<<endl;
}
else
cout<<"YES"<<endl;
return 0;
}