双数组标记法(简化过)
2026-09-07 20:40:27
发布于:浙江
4阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m,a[110],cnt[110];
bool flag=0;
//定义变量
int main(){
cin>>n>>m;
for(int i=0;i<m;i++){//这里是i<m
cin>>a[i];
cnt[a[i]]=1;//题目核心之一,记录报过数的人
}
for(int i=0;i<n;i++){
if(cnt[i]0)flag=1;//有人没报数,把flag改为1,由小到大输出所有未到达的同学编号
if(flag1){
for(int j=0;j<n;j++){//在if中进行for循环,注意是int j
if(cnt[j]0)cout<<j<<" ";//输出编号
}
return 0;//直接终止程序
}
}
if(flag0)cout<<n;//如果所有同学都到达,输出 n
return 0;
}
//代码格式是个人习惯,不喜勿喷
这里空空如也





有帮助,赞一个