William0701 @ 2023-10-24 23:12:45
#include<stdio.h>
int main()
{
int l,m,n;//路和区间数
int a,b;//区间
int i,j;//计数器
int sum=0;
scanf("%d %d",&l,&m);
n=l+1;//马路从0开始
int x[n];
for(i=0;i<n;i++){
x[i]=1;//把每一棵树存放到数组里
}
for(i=0;i<m;i++){
scanf("%d %d",&a,&b);//输入区间
if(a==0){
x[0]=0;
}
for(j=a-1;j<=b-1;j++){
x[j]=0;//区间里的树变成了0
}
}
for(i=0;i<n;i++){
sum=sum+x[i];//再把所有树相加(1代表有树,0代表没有树)
}
printf("%d",sum);
return 0;
}
by iqwl @ 2023-10-25 06:00:27
删树的时候直接删就好了啊
#include<stdio.h>
int main()
{
int l,m,n;//路和区间数
int a,b;//区间
int i,j;//计数器
int sum=0;
scanf("%d %d",&l,&m);
n=l+1;//马路从0开始
int x[n];
for(i=0;i<n;i++){
x[i]=1;//把每一棵树存放到数组里
}
for(i=0;i<m;i++){
scanf("%d %d",&a,&b);//输入区间
for(j=a;j<=b;j++){
x[j]=0;//区间里的树变成了0
}
}
for(i=0;i<n;i++){
sum=sum+x[i];//再把所有树相加(1代表有树,0代表没有树)
}
printf("%d",sum);
return 0;
}
by William0701 @ 2023-10-25 19:26:00
@iqwl 谢谢大佬!!
by iqwl @ 2023-10-25 19:29:05
@William0701 能帮到你就好