In the new year party, everybody will get a "special present".Now it's your turn to get your special present, a lot of presents now putting on the desk, and only one of them will be yours.Each present has a card number on it, and your present's card number will be the one that different from all the others.For example, there are 5 present, and their card numbers are 1, 2, 3, 2, 1.so your present will be the one with the card number of 3, because 3 is the number that different from all the others.
Input
The input file will consist of several cases. Each case will be presented by an integer n (1<=n<=200, and n is odd) at first. Following that, n positive integers will be given in a line. These numbers indicate the card numbers of the presents.n = 0 ends the input.
Output
For each case, output an integer in a line, which is the card number of your present.
Sample Input
5 1 1 3 2 2 3 1 2 1 0
Sample Output
3 2题意就是给一列数找到只出现一次的数最简单的想法就是用数组存比如a[1]存1出现次数a[2]存2出现次数a[3]存3出现次数....最后遍历找到a[i]==1输出i但是注意如果给出数非常大就会出问题如给2^32数组要开多大,因此用a[0][0]存第一个出现的数a[1][0]存第二个不同的数a[3][0]存第四个不同的数a[i][1]存第i个不同的出现次数#include<iostream>#include<stdio.h>#include<string>#include<cstring>#include<math.h>using namespace std;int main(){int n;while(cin>>n){if(n==0)break;int a[1000][2]={0};int t=0;while(n--){int m;cin>>m;int h=0;//标记0表示没出现过1表示出现过for(int i=0;i<=t;i++){if(a[i][0]==m) //判断前面是否出现过如果出现过,次数++并标记h=1a[i][1]++,h=1;}if(h==0){a[t][0]=m;a[t][1]++;t++;} }for(int i=0;i<=t;i++){if(a[i][1]==1)printf("%d\n",a[i][0]);}}}