题解 | 校门外的树

校门外的树

https://www.nowcoder.com/practice/0e8cfc82936048769af45967f3c4ef7e

#include <stdio.h>
#include <stdlib.h>
int main() {
    int L,M;
    scanf("%d %d",&L,&M);
    int *arr=(int*)malloc(L*sizeof(int));

    for(int i=0;i<=L;i++){
        arr[i]=1;//初始化树全在
    }
    for(int j=0;j<M;j++){
        int m,n;
        scanf("%d %d",&m,&n);
        for(int k=m;k<=n;k++){
            arr[k]=0;//区间内的树移除
        }
    }
    int len=0;
    for(int q=0;q<=L;q++){
        if(arr[q]==1){
            len++;
        }
    }//计算最终1的个数就是树的个数。这样不用考虑复杂的重合区间问题
    printf("%d\n",len);

    
    return 0;
}

全部评论

相关推荐

01-02 20:08
马鞍山学院 Java
27届学院本誓死冲击...:实习经历最好写上做了什么项目,负责什么业务,否则有点假
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务