校门外的树
校门外的树
https://ac.nowcoder.com/acm/problem/16649
模拟简单题
- 首先我们要定义一个数组用来标记访问过的树
- 从左往右遍历只要是出现在区间的树我们就标记它为1(初始化为0)
- 最后我们只需统计未被标记的树就是答案了
- 这里需要注意的是,题目要求的是从0开始,所以要稍微注意一下
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn = 1e5 + 5;
int a[maxn], vis[maxn];
int main()
{
int l, m, x, y, ans;
while (~scanf("%d%d", &l, &m))
{
ans = 0;
for (int i = 1; i <= m; ++i)
{
scanf("%d%d", &x, &y);
for (int i = x; i <= y; ++i)
vis[i] = 1;
}
for (int i = 0; i <= l; ++i)
if (!vis[i])
++ans;
printf("%d\n", ans);
}
}