PAT 甲级 1041 Be Unique

https://pintia.cn/problem-sets/994805342720868352/problems/994805444361437184

 

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.

Sample Input 1:

7 5 31 5 88 67 88 17

Sample Output 1:

31

Sample Input 2:

5 888 666 666 888 888

Sample Output 2:

None

代码:
#include <bits/stdc++.h>
using namespace std;

const int maxn = 1e5 + 10;
int a[maxn], num[maxn];

int main() {
    int n;
    scanf("%d", &n);
    for(int i = 1; i <= n; i ++) {
        scanf("%d", &a[i]);
        num[a[i]] ++;
    }

    int cnt = 0;
    for(int i = 1; i <= n; i ++) {
        if(num[a[i]] == 1) {
            printf("%d\n", a[i]);
            return 0;
        }
        if(num[a[i]] > 1)
            cnt ++;
    }
    if(cnt == n)
        printf("None\n");
    return 0;
}

  

posted @ 2018-08-05 17:04  丧心病狂工科女  阅读(230)  评论(0编辑  收藏  举报