记录编号 197259 评测结果 AWWWWWWWWW
题目名称 [NOIP 2012]Vigenère密码 最终得分 10
用户昵称 Gravatarexpletar 是否通过 未通过
代码语言 C++ 运行时间 0.016 s
提交时间 2015-10-23 19:10:23 内存使用 0.31 MiB
显示代码纯文本
#include<fstream>
#include<string>
#include<cstring>
#include<iostream>
using namespace std;
string k,m;
ifstream in ("vigenere.in");
ofstream out ("vigenere.out");

inline char fucker (char f,char y)
{
	if(f+'A'-'Z'>y)
		return f-'Y'+y;
	return f-y+'A';
}

int main ()
{
	in>>k;
	in>>m;
	
	int mod=k.length();
	char temp;
	bool flag=0;
	
	for (int i=0;i<m.length();++i)
	{
		if ('a'<=m[i]&&m[i]<='z')
		flag=1;
		else flag=0;
		
		temp=fucker ( toupper(m[i]),toupper(k[i%mod]) );
		
		if (flag)
			out<<char(tolower(temp));
			
		else out<<char(temp);

	}
		
	return 0;
}