大佬们看看,为什么只有前两个AC了
查看原帖
大佬们看看,为什么只有前两个AC了
613349
wt20180112楼主2023/8/14 16:57
#include<cstdio>
#include<algorithm>
using namespace std;
#define MAX 100

struct regin{
    int begin;
    int end;
};

int compare(struct regin re1,struct regin re2){
    return re1.begin < re2.begin;
}

int main(){
    struct regin re[MAX];
    long l,m;//l表示长度,那一共有l+1棵树
    int sum = 0;
    while(scanf("%ld%ld",&l,&m)!=EOF){
        for(int i = 0;i<m;i++){
          scanf("%d%d",&re[i].begin,&re[i].end);
        }
        sort(re,re+m,compare);
        int i = 0;
        while(i<m-1){
            for(int j = i + 1;j<m;j++){
                if(re[i].end >= re[j].begin){
                    re[i].end = re[j].end;
                    re[j].begin = 0;
                    re[j].end = 0;
                }
            }
            i++;
        }
        for(int i = 0;i<m;i++){
            if(re[i].end == re[i].begin and re[i].end == 0) continue;
            sum = sum + re[i].end - re[i].begin + 1;
        }
        printf("%lld",l + 1 - sum);
    }
}
2023/8/14 16:57
加载中...