比赛 |
2012Day1 |
评测结果 |
AAAAAAAAAA |
题目名称 |
Vigenère密码 |
最终得分 |
100 |
用户昵称 |
mikumikumi |
运行时间 |
0.003 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2015-10-22 19:45:41 |
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
char k[110],s[1100],ans[1100];
int get(char a)
{
if('A'<=a&&a<='Z') return a-'A';
else return a-'a';
}
int main()
{
freopen("vigenere.in","r",stdin);
freopen("vigenere.out","w",stdout);
scanf("%s",k);
scanf("%s",s);
int mod=strlen(k);
char tem;
for(int i=0;i<strlen(s);i++)
{
int now=(get(s[i])-get(k[i%mod])+26)%26;
if(s[i]-'A'>25) tem='a';
else tem='A';
ans[i]=tem+now;
}
printf("%s",ans);
return 0;
}