思路
题中有L长的一排树,把这排树用数组a表示并初始化为0;
对于输入区域的起点和终点,每次改变数组a从起点位开始到终点位之间的数为1
最后边遍历数组a,每次得到的数为0,就count++,得到的count的值就是剩余的树
代码实现
#include<stdio.h>
int main(){
int l,m,x,y,i,j,count;
// l,m表示马路长度和区域额数目
// x,y表示输入的区域的起点和终点
while(~scanf("%d%d",&l,&m))
{
count=0;
int a[10001]={0};
for(i=0;i<m;i++)
{
scanf("%d %d",&x,&y);
for(j=x;j<=y;j++)
{
a[j]=1;
}
}
for(i=0;i<=l;i++)
if(a[i]==0)
count++;
printf("%d\n",count);
}
return 0;
}