南邮 OJ 1057 封杀病毒

封杀病毒

时间限制(普通/Java) :  20000 MS/ 30000 MS          运行内存限制 : 65536 KByte
总提交 : 1020            测试通过 : 160 

比赛描述

最近H1N1病毒很猖狂。有小道消息说这种病毒来自实验室。
生物学家发现,H1N1型病毒的基因十分奇怪,科学家已经对它的基因图谱做了分析,发现可以用一种编号制度给它的碱基编号。
编号工作完成后,科学家又惊奇地发现一对神奇的碱基,它没有在基因中出现。找到这对碱基,将有可能是控制疾病的突破口。
已知碱基由1到2^k(2的k次方)编号的。科学家用一种长度为2^k的记忆条存储碱基信息:如果碱基i出现了,就在记忆条的坐标i处做个标记。
工作还是比较顺利的,但老眼昏花的科学家找那个丢失的碱基号码的时候,老是晕头转向,屡找屡败。
现在这项工作交给你,希望你能力挽狂澜。



输入

有多组测试数据。
每组测试数据第一行一个整数k表示碱基的数目为2^k(1<=k<=20)。 
第二行到第2^k行每行一个整数表示找到的一碱基的编号(并不是按顺序给出的)。

输出

输出那对关键碱基的编号。

样例输入

2
4
1
3

样例输出

2

题目来源



#include<iostream>
using namespace std;

int main(){
	long k,N,m;
	cin>>k;
	N = 1<<k;
	m = N;
	while(--N){
		cin>>k;
		m ^= k;
	}
	cout<<m<<endl;
}





你可能感兴趣的:(ACM,南邮OJ,封杀病毒)