杭电2095
此题还可以吧!!!就是注意一下,不能用常规方法,也就是说不能建立数组,因为当数组的大小
超过1000000时,编译器就无法运行了!!!
此题的正确思路如下:
只要有相同的数那么他们异或后的结果就是0,最后就剩下0和那个独一无二的数相异或,就等于
那个独一无二的数了!!
在程序中用到了异或的方法,其中有关异或门的讲解请参考:
http://www.cnblogs.com/xiohao/archive/2012/11/15/2770920.html
祝你成功AC!!
#include<iostream>
using namespace std;
int main()
{
int n,i,x,y;
while(scanf("%d",&n)!=EOF&&n)
{
x=0;
while(n--)
{
cin>>y;
x^=y;
}
printf("%d\n",x);
}
return 0;
}
联系方式