#求助大佬
查看原帖
#求助大佬
420063
ARTL楼主2021/2/1 11:17
#include <iostream>
#include <string.h>
#include <math.h>
using namespace std;
int main()
{
    bool b[10000];
    memset(b,1,sizeof(b));
    int l,m,start,endr;
    cin>>l>>m;
    for(int i=0;i<m;i++){
        cin>>start>>endr;
        for(int j=start-1;j<endr;j++)
            if(b[j])
            b[j]=0;
    }
    int res=1;
    for(int i=0;i<l;i++)
        if(b[i])
            res++;
    cout<<max(res,0)<<endl;
    return 0;
}

为什么第一个没过呢?其实我认为res=0开始计数是合理的,但实际上少了1,我改成res=1之后才过了题目,如何解释呢?谢谢大佬[鞠躬]

2021/2/1 11:17
加载中...