您的位置:首页 > 其它

南邮 OJ 1184 迷失的邮票

2015-08-05 10:36 211 查看


迷失的邮票

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 735            测试通过 : 208 

比赛描述

L不但喜欢收集邮票,而且还喜欢成对的收集每一种邮票。为了防止混乱,他用一个正整数对每一种邮票进行编号。然而,有一天他却丢失了某两张邮票。已知这两张邮票属于不同的类型,即它们的编号不一样。L希望你能帮他找到这两张丢失邮票的编号。

输入

输入第一行是一个正整数n(4<=n<=1000000),表示原来L拥有邮票的张数接下去有n-2行,每一行一个正整数x(1<=x<=2^31-1),表示邮票的编号。

输出

输出只有一行,两个正整数,表示丢失邮票的编号,小的编号在前,两个整数之间用一个空格分开。

样例输入

6

101

2

100

2

样例输出

100 101

提示

 

题目来源

李鸿斌(honghu)

#include<stdio.h>
int a[999998];
int main(){
unsigned long n,i;
int t=0,p=0,q=0,count=1;
scanf("%ld",&n);
n -= 2;
for(i=0;i<n;++i){
scanf("%ld",&a[i]);
t ^= a[i];
}
while(!(count&t)){
count <<= 1;
}
for(i=0;i<n;++i){
if(a[i]&count){
p ^= a[i];
}else{
q ^= a[i];
}
}
if(p>q){
p ^= q;
q ^= p;
p ^= q;
}
printf("%ld %ld\n",p,q);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息