比赛 NOIP2015普及组练习 评测结果 AAAAAAAAAA
题目名称 Vigenère密码 最终得分 100
用户昵称 ミント 运行时间 0.015 s
代码语言 C++ 内存使用 0.25 MiB
提交时间 2015-11-02 13:16:47
显示代码纯文本
#include <fstream>
#include <algorithm>
#include <string>
#include <cstring>

using namespace std;

ifstream fin("vigenere.in");
ofstream fout("vigenere.out");

int main()
{
	int key[100];   
	string k, code, ans;  
	
	fin>>k>>code;  
	int lk = k.length();  
	int lcode = code.length();  
	
	for(int i=0;i<lk;i++)  
	{  
		if(k[i]>='a')
			key[i]=k[i]-'a';  
		else 
			key[i]=k[i]-'A';  
	}  
	for(int i=0;i<lcode;i++)
	{ 
		ans[i] = code[i]- key [i%lk];  
		if((ans[i]<'A')||(ans[i]<'a'&&code[i]>='a'))
			ans[i]=ans[i]+26;  
		fout<<ans[i];  
	}  
	
	fin.close();
	fout.close();
	
	return 0;
}