1041. Be Unique (20)
来源:互联网 发布:淘宝分享有礼口令软件 编辑:程序博客网 时间:2024/06/05 06:32
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, 104]. 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 (<=105) 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 17Sample Output 1:
31Sample Input 2:
5 888 666 666 888 888Sample Output 2:
None
#include<iostream>#include<vector>using namespace std;int main(){int N, num;vector<int>vec;int res = 0;scanf("%d",&N);for (int i = 0; i < N; ++i){scanf("%d",&num);vec.push_back(num);}for (int i = 0; i < vec.size(); ++i){int j = 0;for (j = 0; j < vec.size(); ++j){if (i == j)continue;if (vec[i] == vec[j]){break;}}if (j == vec.size()){res = vec[i];break;}}if (res!=0)printf("%d", res);elseprintf("%s","None");}
上面的代码还有两个小测试点是超时的,也就是还有优化的空间. 通过加入一个辅助的set,记录下检测过的已经重复的元素,然后再检测当前元素之前进行一个判断,看当前元素是属于辅助的set,也就是说不进行相同元素的重新检测,因此问题得到的优化,测试全部通过.
#include<iostream>#include<vector>#include<set>using namespace std;int main(){int N, num;vector<int>vec;set<int> s;int res = 0;scanf("%d", &N);for (int i = 0; i < N; ++i){scanf("%d", &num);vec.push_back(num);}for (int i = 0; i < vec.size(); ++i){set<int>::iterator s_it = s.find(vec[i]);if (s_it != s.end())continue;int j = 0;for (j = i+1; j < vec.size(); ++j){if (vec[i] == vec[j]){s.insert(vec[i]);break;}}if (j == vec.size()){res = vec[i];break;}}if (res != 0)printf("%d", res);elseprintf("%s", "None");}
0 0
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 1041. Be Unique (20)
- 肀莁蒇螄羆莀虿肀羂荿螁袂
- 杭电acm2061
- 莀蒂蝿肃芀蒅袄节薂莇袀肈
- Apple开发者账号续费
- 莃蕿袆肈莂蚁肁莇莁螃袄芃
- 1041. Be Unique (20)
- 袈膅葿蚆袁芀芆蒅螃袄莅螇
- 袅螀莅莆薅羅芀莅蚇螈芆莄
- LoadRunner开始录制时启动浏览器卡死的解决办法
- 芀薅螂荿莆螄羄节莂薀袃芄
- hdu 5188 (zhx and contest)
- 膈莀节薁羁芆芁蚃膆膂莀螅
- 羆膃莈螇螃羂芀螃袁芄芃衿
- BZOJ 2827 千山鸟飞绝 Treap