处女座点名

【题目描述】

处女座觉得自己手上的经费可能不太够,于是决定给牛逼学生们带家教。

一天他去上课用自己的火眼金睛感觉教室里有一个学生没有来,于是他就叫学生们报出自己的学号。

已知这个班上的学号是从1开始连续编号的,处女座告诉你这个班上有多少人,想问问你到底是谁没有来。

【输入描述】

输入数据共两行,第一行为一个整数N,表示班上的学生数量。

第二行为一行N-1个整数,表示已经来的学生的学号,按升序给出。

【输出描述】

输出一个整数,为没有来的学生的学号。

【样例】

示例1

输入
3
1 3
输出
2

思路:桶排模拟即可

【源代码】

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#define PI acos(-1.0)
#define E 1e-6
#define MOD 1000000007
#define INF 0x3f3f3f3f
#define N 2000000
#define LL long long
using namespace std;
int n;
int a[N];
int bucket[N];
int main(){
    scanf("%d",&n);
 
    for(int i=1;i<=n-1;i++){
        scanf("%d",&a[i]);
        bucket[a[i]]++;
    }
    for(int i=1;i<=n;i++){
        if(bucket[i]==0){
            printf("%d\n",i);
            break;
        }
    }
 
    return 0;
}

 

posted @ 2022-09-20 22:56  老程序员111  阅读(14)  评论(0)    收藏  举报