1. 程式人生 > >【HDOJ】find your present (2)(思路題)

【HDOJ】find your present (2)(思路題)

利用 自己 names namespace pro ble get nbsp tdi

find your present (2)

題意:找有唯一一個出現奇數次的數

思路:利用位異或。一個數異或自己本身是0;

#include<stdio.h>
int main()
{
    int n,i,x,y;
    while(scanf("%d",&n)!=EOF&&n)
    {
           x=0;
           while(n--)
           {
                scanf("%d",&y);
                x^=y;
           }
           printf(
"%d\n",x); } return 0; }

map

#include <stdio.h>  
#include <algorithm>  
#include <map>  
using namespace std;  
  
int main()  
{  
    int n,i,a;  
    map<int,int>my;  
    map<int,int>::iterator it;  
    while(scanf("%d",&n),n)  
    {  
        
for(i=0;i<n;i++) { scanf("%d",&a); my[a]++; } for(it=my.begin();it!=my.end();it++) { if(it->second==1) { printf("%d\n",it->first); break; } } my.clear(); }
return 0; }

【HDOJ】find your present (2)(思路題)