比赛 2012Day1 评测结果 AAAAAAAAAA
题目名称 Vigenère密码 最终得分 100
用户昵称 KZNS 运行时间 0.006 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-10-22 19:33:13
显示代码纯文本
// KZ's
#include <fstream>
#include <string>
using namespace std;
char mk(char a,char m) {
	if (a<'a') {
		a-=m-'a';
		if (a<'A')
			a+=26;
	}
	else {
		a-=m-'a';
		if (a<'a')
			a+=26;
	}
	return a;
}
int main() {
	ifstream fin ("vigenere.in");
	ofstream fout ("vigenere.out");
	string keys,mas;
	getline(fin,keys);
	int m=keys.length();
	for (int i=0;i<m;i++)
		if (keys[i]<'a')
			keys[i]+=' ';
	while (getline(fin,mas)) {
		for (int i=0;i<mas.length();i++)
			fout<<mk(mas[i],keys[i%m]);
		fout<<endl;
	}
	return 0;
}
// UBWH
// t=18.14