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 谢谢大佬,解决了