// 两个整数L(1<=L<=10000)和M(1<=M<=100)。 接下来有M组整数,每组有一对数字。 #include<stdio.h> #define maxsize 100 #define max 10001 struct Node { //用于表示区间的结构体 int start; int end; }; int main() { int L, M, count = 0; struct Node m[maxsize]; //定义结构体数组 scanf("%d%d", &L, &M); for (int i = 0; i < M; i++) //M个区间 scanf("%d%d", &m[i].start, &m[i].end); int a[max]; for (int i = 0; i < L + 1; i++) //每一个整数点都有一棵树 a[i] = 1; for (int i = 0; i < M; i++) { int start0 = m[i].start; int end0 = m[i].end; for (int j = start0; j <= end0; j++) //移走区间内(包括端点)的树 a[j] = 0; } for (int i = 0; i < L + 1; i++) { if (a[i] == 1) count++; } printf("%d", count); return 0; }