PAT 甲级 1041 Be Unique (20 分)(简单,一遍过)

Posted caiyishuai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT 甲级 1041 Be Unique (20 分)(简单,一遍过)相关的知识,希望对你有一定的参考价值。

 

1041 Be Unique (20 分)
 

 

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]. 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 (≤) 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

 

 

题意:

给出n个数字,要求输出第一个只出现一次的数字,如果不存在,输出None. 

题解:

用类似打表的方法,统计每个数出现的次数。按输出顺序遍历,当有次数为1的数时,输出,没有就输出None。

AC代码:

 

#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<map>
#include<string>
#include<cstring>
using namespace std;
int a[10005]; 
int shu[100005];
int main()

    int n;
    cin>>n;
    memset(a,0,sizeof(a));
    for(int i=1;i<=n;i++)
        cin>>shu[i];
        a[shu[i]]++;
    
    int f=0;
    for(int i=1;i<=n;i++)
        if(a[shu[i]]==1)
            cout<<shu[i];
            f=1;
            break;
        
    
    if(!f) cout<<"None";
    return 0;

 

以上是关于PAT 甲级 1041 Be Unique (20 分)(简单,一遍过)的主要内容,如果未能解决你的问题,请参考以下文章

PAT 甲级 1041 Be Unique

pat 1041 Be Unique(20 分)

PAT Advanced 1041 Be Unique (20分)

PAT Advanced 1041 Be Unique (20 分)

PAT Advanced 1041 Be Unique (20) [Hash散列]

PAT (Advanced Level) 1041. Be Unique (20)