首页 > 代码库 > 读书-算法《程序设计导引及在线实践》-简单计算题3:校门外的树

读书-算法《程序设计导引及在线实践》-简单计算题3:校门外的树

题目:

pic

这个问题可以概括为输入一个大的整数区间,及一些可能互相重叠的在该大区间内的小的整数闭区间。求出未被覆盖的区间是多大。

代码实现如下:

#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);
}