HDU 1287(破译密码)

原文 ^ 大写字母 = 密文   --->   密文 ^ 大写字母 = 原文

#include <iostream>
using namespace std;

int cipher[10000]; //密文

int main()
{
	int N;
	while (cin >> N)
	{
		
		for (int i = 0; i < N; i++) //输入密文
		{
			cin >> cipher[i];
		}
		
		int i, j;
		char c;
		for (i = 'A'; i <= 'Z'; i++) //依次判断所有大写字母
		{
			for (j = 0; j < N; j++)
			{
				c = i ^ cipher[j];
				if (c < 'A' || c > 'Z')
					break;
			}
			if (j == N)
				break;
		}

		for (int k = 0; k < N; k++) //输出原文
			cout << char(cipher[k] ^ i);
		cout << endl;
	}
	return 0;
}

继续加油。

发布了206 篇原创文章 · 获赞 1 · 访问量 8976

猜你喜欢

转载自blog.csdn.net/Intelligence1028/article/details/104862966