专栏文章

B4405 [语言月赛 202509] 你这题至少 *3000 题解

B4405题解参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@minsqrqf
此快照首次捕获于
2025/12/02 07:44
3 个月前
此快照最后确认于
2025/12/02 07:44
3 个月前
查看原文
本题考察数组、循环结构。

我们使用数组来解决这个问题。设置 bool\texttt{bool} 类型数组 bb,其中 bib_i 表示是否有题适合位置 ii
对于输入的每个数 xx,我们令 bxb_xbx+1b_{x+1} 都为 11 即可。虽然 x=mx=m 时会超出去,但是不影响我们的算法正确性,因为我们之后不会统计到这道不存在的题目。
之后我们扫描一遍数组 bb11mm 的位置,统计一下有多少位置 bi=0b_i=0,并输出这些位置即可。
特别地,如果没有任何位置 bi=0b_i=0,输出 Accepted
CPP
const int N=1e5+10;
int n,m;
bool bol[N];
int main(){
	ios::sync_with_stdio(false);
	cin>>n>>m;
	while(n--){
		int x;
		cin>>x;
		bol[x]=bol[x+1]=1;
	}
	int c=0;
	for(int i=1;i<=m;i++) if(!bol[i]) c++;
	if(!c) cout<<"Accepted\n";
	else{
		cout<<c<<'\n';
		for(int i=1;i<=m;i++) if(!bol[i]) cout<<i<<' ';
	}
}

评论

1 条评论,欢迎与作者交流。

正在加载评论...