Time Limit: 1 secs, Memory Limit: 64 MB
Description
Every time after got a solution from kevin, ivan repeats again and again,”Are there any better ones?”. It seems more worse this time. Given a sequence of numbers, which ivan is sure that all of them appear even times except only one “lovely number” appears odd times, kevin must find out the lovely number as soon as possible. So, let’s rock!
Input
There are multiple test cases.
Each test case contains two lines. The first line is an integer N, 1 <= N <= 10001, and N % 2 = 1. The second line contains N integers, separated by spaces.
Input is terminated by EOF.
Output
For each test case, output a line of an integer, which should be the lovely number.
Sample Input
3
1 2 1
5
7 7 7 7 3
7
2 2 4 4 4 2 2
Sample Output
2
3
4
Problem Source
2010中山大学新手赛-网络预选赛 ivankevin@argo
(。^▽^) Just do it!
#include <iostream>
#include <map>
using namespace std;
int main()
{
map<int, int> Temp;
int T, Tp;
while (cin >> T)
{
Temp.clear();
while (T--) {
cin >> Tp;
Temp[Tp]++;
}
map<int, int>::iterator i = Temp.begin();
while (i != Temp.end()) {
if ((*i).second % 2 == 1) {
cout << (*i).first << endl;
break;
}
i++;
}
}
}