求助,就3个测试点对了

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

fys666 @ 2022-10-22 10:30:11

代码如下

#include<stdio.h>
int main()
{
    int l,m,cnt=0;
    scanf("%d %d",&l,&m);
    int a[10000]={0};
    for(int i=1;i<=m;i++)
    {
        int start,end;
        scanf("%d %d",&start,&end);
        for(;start<=end;start++)
        {
            a[start]=1;
        }       
    }

    for(int i=0;i<=l;i++)
    {
        if(a[i]==0) 
        {
            if(a[i]==0) cnt++;
        }
    }
    printf("%d",cnt);
}

我自己去下载了测试点4的输入输出,然后在编译器运行,答案是对的,但是在这里就错了!!!


by 李宗洁Jimmy @ 2022-10-22 11:11:21

int a[10000]={0};

应该在

int main()

外面


by Sad_Rex @ 2022-10-22 11:15:46

@李宗洁Jimmy 都是清零啊


by 李宗洁Jimmy @ 2022-10-22 11:19:20

不好理解的话:

int a[10001]={0};

by 李宗洁Jimmy @ 2022-10-22 11:20:41

虽然l比10000小,但加上右端的话数组要开10001


by fys666 @ 2022-10-22 12:05:10

@李宗洁Jimmy 谢谢大佬,解决了


|