题目:原题点我
题目大意:
找 0 0 0到 N − 1 N-1 N−1哪个少了输出哪个,没少输出 N N N
解题思路:
建立一个bool
类型变量flag
,输入时直接将对应的数放到对应的位置上去,就免了排序;
接着判断:哪个少了,
f
l
a
g
=
=
0
flag == 0
flag==0 , 输出一下; 没少
(
f
l
a
g
=
=
1
)
(flag == 1)
(flag==1) , 输出
N
N
N.
代码:
int a[N];
void solve(){
int n, m;
cin>>n>>m;
bool flag=1;//仮定がそろいます
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=0;//マークがそろっていません
cout<<i<<" ";
}
}
if(flag){
cout<<n<<endl;
}
}
日文注释,不要抄袭
by しんはらひがしり(baiqiao)