校门外的树

思路

题中有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;
}

results matching ""

    No results matching ""