简单模拟
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define sd(x) scanf("%d",&x)
#define pd(x) printf("%d\n",x)
int n,m;
int l,r;
int a[105],b[105];
int main(){
while(cin>>n>>m){
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++) {
cin>>l>>r;
for(int j=l;j<=r;j++){
a[j] = 1;
}
}
int flag = 0;
for(int i=1;i<=m;i++){
if(a[i]==0){
b[flag++] = i;
}
}
if(!flag) cout<<0<<endl;
else{
cout<<flag<<endl;
for(int i=0;i<flag;i++){
cout<<b[i]<<" ";
}
cout<<endl;
}
}
}
本文介绍了一个简单的模拟算法案例,通过输入区间范围标记数组,并找出未被覆盖的元素。使用 C++ 实现,涉及数组初始化、区间标记及遍历检查等基本操作。
1340

被折叠的 条评论
为什么被折叠?



