记录编号 196837 评测结果 AAAAAAAAAA
题目名称 [NOIP 2012]Vigenère密码 最终得分 100
用户昵称 GravatarNVIDIA 是否通过 通过
代码语言 C++ 运行时间 0.015 s
提交时间 2015-10-22 19:39:43 内存使用 0.32 MiB
显示代码纯文本
#include<iostream> 
#include<cstdio> 
#include<cstring> 
using namespace std; 
int key[100]; 
char k[100],mw[1000],ans[1000];
int main() 
{ 
freopen("vigenere.in","r",stdin);
freopen("vigenere.out","w",stdout);
ios::sync_with_stdio(false);
int i,lk,lmw; 
cin>>k>>mw; 
lk=strlen(k); 
lmw=strlen(mw); 
for(i=0;i<lk;i++) 
{ 
if(k[i]>='a')
{
	key[i]=k[i]-'a';
}	
else key[i]=k[i]-'A'; 
} 
i=0; 
while(i<lmw) 
{ 
ans[i]=mw[i]-key[i%lk]; 
if((ans[i]<'A')||(ans[i]<'a'&&mw[i]>='a'))
{
	ans[i]=ans[i]+26;
}	
cout<<ans[i]; 
i++; 
} 
return 0; 
}