我不知道自己怎么过得

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

When_can_I_be @ 2022-08-25 20:11:34

#include<iostream>
using namespace std;
int main(){

    int n,m,u,v,cnt=0;
    cin>>n>>m;
    int s[n+1];

    for(int i=0;i<=n+1;i++){
        s[i]=1;
    }

    for(int i=0;i<m;i++){

        cin>>u>>v;

        for(int j=u;j<=v;j++){
            s[j]=0;
        }
    }

    for(int i=0;i<=n+1;i++){
        if(s[i]==1){
            cnt++;
        }
    }
    cout<<cnt-1;

    return 0;
}

第27行的 cnt-1 ,因为数据样例没过所以随手加的,结果给AC了???求大佬帮忙看代码!


by BotDand @ 2022-08-25 20:14:59

因为你的 s[n+1] 是 1


by 5k_sync_closer @ 2022-08-25 20:15:23

@ERROR007898 数轴两端是 [0,l],您是 [0,l+1],多算了一个


by NightStriker @ 2022-08-25 20:16:47

好家伙


by GaryGe @ 2022-08-25 20:16:54

22行改为n,去掉-1


by __er @ 2022-08-25 20:25:16

UT厨好评!


by __er @ 2022-08-25 20:25:44

你小于等于n+1了


by When_can_I_be @ 2022-08-25 20:27:29

@BotDand 在改了,感谢大佬!


by When_can_I_be @ 2022-08-25 20:27:52

@5k_sync_closer 在改了,感谢大佬!


by When_can_I_be @ 2022-08-25 20:28:10

@GaryGe 在改了,感谢大佬!


by When_can_I_be @ 2022-08-25 20:28:27

@__er 在改了,感谢大佬!


|