【题意+解析】1041 Be Unique (20 分)_18行代码AC
立志用最少的代碼做最高效的表達
PAT甲級最優題解——>傳送門
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
題意:給一串數,輸出第一個只出現過一次的數,若無則輸出None
分析:定義隊列存儲數據,定義map數組查重。輸出第一個不重復的即可。 若無則輸出None
#include<bits/stdc++.h> using namespace std; int main( ) {int n; cin >> n;queue<int>q;map<int, int>m;while(n--) {int x; cin >> x; q.push(x); m[x]++;}while(!q.empty()) {if(m[q.front()] == 1) { cout << q.front() << '\n'; goto loop; }q.pop(); }cout << "None\n";loop :;return 0; }
耗時:
求贊哦~
總結
以上是生活随笔為你收集整理的【题意+解析】1041 Be Unique (20 分)_18行代码AC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1036 Boys vs Girls (
- 下一篇: 1040 Longest Symmetr