Chri_K

noip2012d1t1(Vigenère 密码 )

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
char c[2100],k[2100]; int n[2100],lenk;

int main(){
cin>>k; cin>>c;
lenk=strlen(k);

for(int i=0;i<lenk;i++)
if(k[i]<97)n[i]=k[i]-65;
else n[i]=k[i]-97;

for(int i=0;i<strlen(c);i++){
if(( c[i]<97 && (c[i]-65)<n[i % lenk] ) || (c[i]>96 && (c[i]-97)<n[i % lenk] ))
printf("%c",c[i]+26-n[i % lenk]);
else
printf("%c",c[i]-n[i % lenk]);
}
return 0;
}

posted on 2020-09-19 15:43  Chri_K  阅读(69)  评论(0编辑  收藏  举报