题目描述
老师带领同学们春游,已知班上有N位同学,每位同学有从0到N-1的唯一编号。到了集合时间,老师确认是否所有同学都到达了集合地点,就让同学们报出自己的编号。到达的同学都会报出的编号,不会报出别人的编号,但有的同学很顽皮,会多次报出,你能帮老师找出有哪些同学没有到达吗?
输入描述
输入包含2行,第一行包含两个整数N和M,表示班级有N位同学,同学们共有M次报出编号。约定2≤N,M≤1000。
第二行包含M个整数,分别为M次报出的编号。约定所有编号都在合理范围内。
输出描述
输出一行,如果所有同学都到达,则输出N;否则由小到大输出所有未到达的同学编号,空格分隔。
样例1
输入
3 3
0 2 1
输出
3
样例2
输入
3 5
0 0 0 0 0
输出
1 2
#include <bits/stdc++.h>
using namespace std;
int a[1005];
int main() {
int n, m;
cin>>n>>m;
bool flag=true;
for (int i=1;i<=m;i++) {
int t;
cin>>t;
a[t]++;
}
for (int i=0;i<n;i++) {
if (a[i]==0) {
flag=false;
cout<<i<<" ";
}
}
if (flag) {
cout << n;
}
return 0;
}