Description
给你 n*2+1 个数 其中有 n 对是一样的 让你找出单出来的那一个Input
输入有多组数据每组数据第一行,是一个整数 n(1 <= n <= 1000000) 接下来 n*2+1 行,每行一个整数 (在 int 范围内)Output
输出单出来的那个数Sample Input
12211222Sample Output
12
分析:此题排序后查找必然超时 使用异或运算可以使相同的数抵消 所以连续异或2n+1次得到得即是答案
代码如下:
#include <cstdio>
int main()
{
int n,i,temp,ans;
while(scanf("%d",&n)==1)
{
scanf("%d",&ans);
for (i=1;i<=n*2;i++)
{
scanf("%d",&temp);
ans^=temp;
}
printf("%d\n",ans);
}
return 0;
}