杭电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;
}

posted on 2012-11-15 08:36  @ 小浩  阅读(446)  评论(0编辑  收藏  举报