nyoj 528 找球号(三)(哈希)

  点解:题目链接

 

两种办法,1是使用容器set做

     2必须知道这个结论,  突然感觉数论很强大啊,,,,

 

/*//set容器处理 出一次加进去,再出现删掉,这个最后留下的就是那个只出现基数次的
#include <iostream>
#include <set>

using namespace std;
int main()
{
    set<int>s;
    int n;
    while(cin>>n)
    {
        int x;
        for(int i = 0; i < n; i++)
            {
              cin>>x;
              if(s.find(x) == s.end())
                    s.insert(x);
                else
                {
                    s.erase(x);
                }
            }
        cout<<*s.begin()<<endl;
        s.clear();
    }
    return 0;
}
*/

//一个书数异或某些数的偶数次方,等于它本身
#include <stdio.h>

int main()
{
    int n,x = 0,y;
    while(~scanf("%d",&n))
    {
        x = 0;
        while(n--){
        scanf("%d",&y);
        x = x ^ y;}
         printf("%d\n",x);
    }
   return 0;
}

 

posted @ 2013-08-21 10:29  heity  阅读(145)  评论(0编辑  收藏  举报