U305415 GSEP 3级真题 [202306] 春游

GSEP 3级真题 [202306] 春游

题目描述

老师带领同学们春游。已知班上有N位同学,每位同学有从0到N - 1的唯一编号。到了集合时间,老师确认是否所有同学都到达了集合地点,就让同学们报出自己的编号。到达的同学都会报出自己的编号,不会报出别人的编号,但有的同学很顽皮,会多次报出。你能帮老师找出有哪些同学没有到达吗?

输入格式

输入包含2行。第一行包含两个整数N和M,表示班级有N位同学,同学们共有M次报出编号。约定2 < N, M < 1000。第二行包含M个整数,分别为M次报出的编号。约定所有编号都在合理范围内。

输出格式

输出一行。如果所有同学都到达,则输出N;否则由小到大输出所有未到达的同学编号,空格分隔。

样例 #1

样例输入 #1

3 3
0 2 1

样例输出 #1

3

样例 #2

样例输入 #2

3 5
0 0 0 0 0

样例输出 #2

1 2

#include <iostream>
#include <cmath>

using namespace std;


int main() {
	int N, M; cin >> N >> M;
	int a[N] = {0};
	for (int i = 0; i < M; i++){
		int t; cin >> t;
		if (0 <= t && t < N) ++(a[t]);
	}
	
	bool fd = false; 
	for (int i = 0; i < N; i++) {
		if (a[i] == 0) {
			cout << i << ' ';
			fd = true;
		}
	}
	if (!fd) cout << N;
}
posted @ 2023-10-01 00:35  iamy  阅读(1475)  评论(0)    收藏  举报