记录编号 232341 评测结果 AAAAAAAAAA
题目名称 [NOIP 2012]Vigenère密码 最终得分 100
用户昵称 Gravatar1azyReaper 是否通过 通过
代码语言 C++ 运行时间 0.035 s
提交时间 2016-02-29 20:18:33 内存使用 0.22 MiB
显示代码纯文本
#include <fstream>
#include <cstring>
#include <algorithm>
#define MAX 1909
using namespace std;
ifstream fin("vigenere.in");
ofstream fout("vigenere.out");
int main()
{
	char ans[MAX],pw[MAX],mw[MAX],key[MAX];
	//string ans,pw,mw,key;
	int pl,ml;
	fin>>pw>>mw;
	pl=strlen(pw);
	ml=strlen(mw);
	for(int i=0;i<pl;i++)
	{
		if(pw[i]>='a')
			key[i]=pw[i]-'a';
		else
			key[i]=pw[i]-'A';
	}
	for(int i=0;i<ml;i++)
	{
		ans[i]=mw[i]-key[i%pl];
		if((ans[i]<'A')||(ans[i]<'a'&&mw[i]>='a'))
		{
			ans[i]+=26;
		}
		fout<<ans[i];
	}
	return 0;
}