#include<stdio.h> #include<math.h> struct num{ int data; int c; int flag; }; int main(){ int t,i,j; scanf("%d",&t); while(t--){ int n; scanf("%d",&n); struct num a[n]; for(i=0;i<n;i++){ scanf("%d",&a[i].data); a[i].c=1; a[i].flag=0; } for(i=0;i<n;i++){ if(a[i].flag==0){ for(j=i+1;j<n;j++){ if(a[i].data==a[j].data) { a[i].c++; a[j].flag=1; } } } else a[i].c=2; } int b[n],k=0; for(i=0;i<n;i++){ if(a[i].c%2!=0) b[k++]=a[i].data; } int s=b[0]; for(i=1;i<k;i++) s^=b[i]; printf("%d\n",s); } } |
Double click to view unformatted code.