利用0和1模拟有树和无树的状态,应该是比较舒服的一种方法。利用排序后区间之间的关系做显得有点没必要
#include<stdio.h>
#include<string.h>
int main(void)
{
int L, M, tree[10005], a, b, count;
while (scanf("%d %d", &L, &M) != EOF) {
count = 0;
memset(tree, 0, sizeof(tree));
for (int i = 0; i < M; i++) {
scanf("%d %d", &a, &b);
for (int i = a; i <= b; i++) {
tree[i] = 1;
}
}
for (int i = 0; i <= L; i++) {
if (tree[i] == 0) {
count++;
}
}
printf("%d\n", count);
}
}