不知道为什么第一个不过,大佬捞捞我

P1047 [NOIP2005 普及组] 校门外的树

William0701 @ 2023-10-24 23:12:45

#include<stdio.h>
int main()
{
    int l,m,n;//路和区间数 
    int a,b;//区间 
    int i,j;//计数器 
    int sum=0; 

    scanf("%d %d",&l,&m);
    n=l+1;//马路从0开始 
    int x[n];

    for(i=0;i<n;i++){
        x[i]=1;//把每一棵树存放到数组里 
    }

    for(i=0;i<m;i++){
        scanf("%d %d",&a,&b);//输入区间 
        if(a==0){
            x[0]=0;
        }
        for(j=a-1;j<=b-1;j++){
            x[j]=0;//区间里的树变成了0 
        }

    }

    for(i=0;i<n;i++){
        sum=sum+x[i];//再把所有树相加(1代表有树,0代表没有树) 
    }
    printf("%d",sum);
    return 0;
}

by iqwl @ 2023-10-25 06:00:27

删树的时候直接删就好了啊

#include<stdio.h>
int main()
{
    int l,m,n;//路和区间数 
    int a,b;//区间 
    int i,j;//计数器 
    int sum=0; 

    scanf("%d %d",&l,&m);
    n=l+1;//马路从0开始 
    int x[n];

    for(i=0;i<n;i++){
        x[i]=1;//把每一棵树存放到数组里 
    }

    for(i=0;i<m;i++){
        scanf("%d %d",&a,&b);//输入区间 
        for(j=a;j<=b;j++){
            x[j]=0;//区间里的树变成了0 
        }

    }

    for(i=0;i<n;i++){
        sum=sum+x[i];//再把所有树相加(1代表有树,0代表没有树) 
    }
    printf("%d",sum);
    return 0;
}

by William0701 @ 2023-10-25 19:26:00

@iqwl 谢谢大佬!!


by iqwl @ 2023-10-25 19:29:05

@William0701 能帮到你就好


|