题意:给定n个数,让你找出那一个次数为1的。
析:由于题意说了,只有那一个数是奇数,所以其他的都是偶数,根据异或的性质,两个相同的数异或为0;
任何数和0异或得原数,可以很简单的做出这个题。
代码如下:
#include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <cstring> #include <map> using namespace std; int main(){ int n, x; while(~scanf("%d", &n) && n){ scanf("%d", &x); int ans = x; for(int i = 1; i < n; ++i){ scanf("%d", &x); ans ^= x; } printf("%d ", ans); } return 0; }