题目:
这个问题可以概括为输入一个大的整数区间,及一些可能互相重叠的在该大区间内的小的整数闭区间。求出未被覆盖的区间是多大。
代码实现如下:
#include <stdio.h> #define true 1 #define false 0 void main() { int L, n, i, j; int count; int trees[10001]; count = 0; for(i = 0; i < 10000; i++) { trees[i] = true; } scanf("%d %d",&L, &n); for (i = 0; i < n; i++) { int begin, end; scanf("%d %d",&begin, &end); for (j = begin; j <= end; j++) { trees[j] = false; } } for(i = 0; i <= L; i++) { if( trees[i] ) { count++; } } printf("%d", count); }