jgdlkfjg @ 2023-11-13 11:59:40
大佬问一下,为什么有的合格,有的不合格?我已经对重叠的部分进行处理了。
#include<stdio.h>
int main()
{
int l=0,m=0,tree=0,u=0,v=0,sum=0;
scanf("%d,%d",&l,&m);
tree=l+1;
int a[tree-1]={0};
for(int i=0;i<=m-1;i++)
{
scanf("%d,%d",&u,&v);
int*p=&a[u];
for(int b=u;b<=v;b++)
{
*p=a[b];
if(*p==0)
{
*p=1;
p++;
sum=sum+1;
}
if(*p==1)
{
p++;
}
}
}
tree=tree-sum;
printf("%d\n",tree);
return 0;
}
by ashaoruite @ 2023-11-17 22:19:34
你的“scanf("%d,%d",&l,&m);“是什么意思, 不应该是“scanf("%d %d",&l,&m);", 你后面那个也是这个问题, 还有你后面那个“if(*p==1)p++” 是什么意思,题目也没说呀,我已经帮你改过了,你看一下,我这边是ac了
by ashaoruite @ 2023-11-17 22:24:32
#include<stdio.h>
int main() {
int l=0,m=0,tree=0,u=0,v=0,sum=0;
scanf("%d %d",&l,&m);
tree=l+1;
int a[tree-1]= {0};
for(int i=0; i<=m-1; i++)
{
scanf("%d %d",&u,&v);
int*p=&a[u];
for(int b=u; b<=v; b++)
{
*p=a[b];
if(*p==0)
{
*p=1;
sum=sum+1;
}
p++;
}
}
tree=tree-sum;
printf("%d\n",tree);
return 0;
}
by ashaoruite @ 2023-11-17 22:29:48
@ashaoruite 我发错了