1003: FFF团的情侣活动

Time Limit: 1 Sec  Memory Limit: 2 MB

Description

圣诞节快到了,Water作为大FFF团团长,组织许多对情侣进行电影院隔位坐,双人套餐打十一折等积极向上的活动。

Water会给每个人编号,情侣两人的号码是一样的。丧心病狂却又单身的Water把自己也算了进去,最后却把自己的编号忘记了。

Water手上现在只有一份乱了的号码单(包括Water的号码),他又过来死皮赖脸的求你帮他把号码找出来。

Input

一组数据。

第一行为 整数N (0<N<=1000000)

接下来N行 每行为一个整数。

Output

一行,Water的号码。

Sample Input

5
3
2
4
2
3

Sample Output

4

HINT

Sample解释:由于情侣间的号码是一样的,所以孤独的4就是Water的号码了!注意,也有可能是如下情况:

3 2 2 2 3

由于2有三个,其中两个是一对情侣,剩下那个号码2就是Water的啦!

情侣的号码也可重复。

这里我们用到异或的一个性质:A xor A = 0,也就是说异或同一个数偶数次,结果不变。

这样我们只需要按顺序把所有的数依次异或一遍,剩下的就是唯一出现奇数次的那个数了。

然后,这里还要注意一下内存的问题,因为只有2m,所以不能开一个很大的数组来遍历,直接读入一个异或一次就好了;

 #include <stdio.h>

 int main()
{
int i, n;
int val = ;
scanf("%d", &n);
int a;
for (i = ; i < n; i++) {
scanf("%d", &a);
val ^= a;
} printf("%d\n", val);
return ;
}
04-25 04:45