1. 程式人生 > >PAT (Advanced Level) Practice 1041 Be Unique (20 分)

PAT (Advanced Level) Practice 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,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+5;
int a[maxn];
int n;
map<int,int>ma;
int main()
{
	scanf("%d",&n);
	for (int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		ma[a[i]]++;
	}
	int flag=0;
	for (int i;i<n;i++)
	{
		if(ma[a[i]]==1)
		{
			flag=1;
			printf("%d\n",a[i]);
			break;
		}
	}
	if(!flag)
	{
		printf("None\n");
	}
	return 0;
}