题意如此简单明了,做法也很明了。
直接读入所有的数,然后排个序,设置个变量从1开始,出现过+1,没出现过输出并break
1: #include <stdio.h>
2: #include <iostream>
3: #include <math.h>
4: #include <stdlib.h>
5: #include <string.h>
6: #include <algorithm>
7: #include <string>
8: #include <vector>
9:
10: using namespace std;
11:
12: int main()
13: {
14: int n, res;
15: int tmp[3009];
16: while (~scanf("%d", &n))
17: {
18: bool flag = 1;
19: for (int i = 0; i < n; i++)
20: scanf("%d", &tmp[i]);
21: //cout << " !!" << endl;
22: sort(tmp, tmp+n);
23: res = 1;
24: for (int i = 0; i < n; i++)
25: {
26: if (tmp[i] == res)
27: res++;
28: else
29: {
30: printf("%d\n", res);
31: flag = 0;
32: break;
33: }
34: }
35: if (flag)
36: printf("%d\n", res);
37: }
38: return 0;
39: }