#include<bits/stdc++.h>
using namespace std;
string k,c;
int lk,lc,p;
int main(){
getline(cin,k);
getline(cin,c);
lk=k.length();
lc=c.length();
for(int i=0;i<lk;++i){
if(k[i]>='a'&&k[i]<='z'){
k[i]=k[i]-'a'+'A';
}
}
for(int i=0;i<lc;++i){
if(c[i]>='a'&&c[i]<='z'){
c[i]=c[i]-k[i%lk]+'A';
if(c[i]<'a')
c[i]+=26;
}else{
c[i]=c[i]-k[i%lk]+'A';
if(c[i]<'A')
c[i]+=26;
}
}
cout<<c;
return 0;
}
信息学奥赛一本通1402:Vigenère密码
于 2023-09-03 12:56:57 首次发布