题解
2023-07-29 11:22:39
发布于:安徽
2阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
char a[27][27];
int main(){
for(int i=1;i<=26;i++)
for(int j=1;j<=26;j++)
{
if(i+j+63<=90)
a[i][j]=char(i+j+63);
else
a[i][j]=char((i+j+63)%91+65);
}
string k,m,s1="";
cin>>k>>m;
while(k.size()<m.size())
k+=k;
for(int i=0;i<m.size();i++)
{
int m1;
if(k[i]>='a'&&k[i]<='z') m1=(int)(k[i]-96);
else m1=(int)(k[i]-64);
char km;
if(m[i]>='a'&&m[i]<='z') km=char(m[i]-32);
else km=m[i];
for(int j=1;j<=26;j++)
{
if(a[j][m1]==km)
{
if(m[i]>='a'&&m[i]<='z') s1+=char(j+96);
else s1+=char(j+64);
}
}
}
cout<<s1<<endl;
return 0;
}
这里空空如也
有帮助,赞一个