PAT甲级 1041
题目 Be Unique
Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winning is simple: one bets on a number chosen from [1,10^4 ]. The first one who bets on a unique number wins. For example, if there are 7 people betting on { 5 31 5 88 67 88 17 }, then the second one who bets on 31 wins.
Input Specification:
Each input file contains one test case. Each case contains a line which begins with a positive integer N (≤10^5 ) and then followed by N bets. The numbers are separated by a space.
Output Specification:
For each test case, print the winning number in a line. If there is no winner, print None instead.
解析
判断输入数字集合中第一个不重复的值。
代码
#include<bits/stdc++.h>
#define INF 1<<29
using namespace std;
int n;
void pat1041() {
int c[100005];
int data[100005];
memset(c, 0, sizeof(c));
cin >> n;
for (int i = 0; i < n; ++i) {
int num;
cin >> num;
c[num]++;
data[i] = num;
}
bool flag = false;
for (int i = 0; i < n; ++i) {
if (c[data[i]] == 1) {
cout << data[i] << endl;
flag = true;
break;
}
}
if (!flag) {
cout << "None" << endl;
}
}
int main() {
pat1041();
return 0;
}