详细题解
2023-06-04 14:50:08
发布于:陕西
50阅读
0回复
0点赞
首先可以把数组1 ~ n的值赋为0,在设一个累加器变量清0,然后从1 ~ n依次排查, 如果有树则把值设为1,然后从1 ~ n依次检查,如果值为0,则累加器自增1,最后输出累加器即可。
首先是赋值代码:
cin >> l >> m;
for (i = 1; i <= l; i ++) {
a[i] = 0;
}
然后是排查代码:
for (i = 1; i <= m; i ++) {
cin >> x >> y;
for (j = x; j <= y; j ++) {
a[j] = 1;
}
}
最后是输出代码:
for (i = 0; i <= l; i ++) {
if (a[i] == 0) {
sum ++;
}
}
cout << sum;
完整代码:
#include <bits/stdc++.h>
using namespace std;
int l, m, x, y, sum = 0, a[100500], i, j;
int main ()
{
cin >> l >> m;
for (i = 1; i <= l; i ++) {
a[i] = 0;
}
for (i = 1; i <= m; i ++) {
cin >> x >> y;
for (j = x; j <= y; j ++) {
a[j] = 1;
}
}
for (i = 0; i <= l; i ++) {
if (a[i] == 0) {
sum ++;
}
}
cout << sum;
return 0;
}
这里空空如也
有帮助,赞一个