记录编号 168322 评测结果 AAAAAAAAAA
题目名称 [NOIP 2012]Vigenère密码 最终得分 100
用户昵称 Gravatarmikumikumi 是否通过 通过
代码语言 C++ 运行时间 0.008 s
提交时间 2015-07-03 15:52:07 内存使用 0.32 MiB
显示代码纯文本
#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;
}