1. ```cpp
```
#include <stdio.h>
int main(){
int a[10001]={0},b,i,n,x1,x2,j;
scanf("%d %d",&b,&n);
for(i=0;i<=b;i++){
a[i]=1;
}
for(i=1;i<=n;i++){
scanf("%d %d",&x1,&x2);
for(j=x1;j<=x2;j++){
a[j]=0;
}
x1=0;
x2=0;
j=0;
}
for(i=0;i<=10001;i++){
if(a[i]){
j++;
}
}
printf("%d",j);
return 0;
}
by 最菜的一笔 @ 2020-01-31 17:19:09
刚刚不太会排版,又重新试了一下
by 最菜的一笔 @ 2020-01-31 17:19:34
思路
1.先假设马路上没有树也不考虑其他影响,即将数组元素全部初始化为0;
2.不考虑地铁时,将有树的路段标记为1;
3.将与地铁重合路段标记为0;
4.统计马路上依然为1的点,即为剩余树木的数量
by 最菜的一笔 @ 2020-01-31 17:26:24
```cpp
for(i=0;i<=10001;i++){
if(a[i]){
j++;
}
}
```
数组越界,改为
```cpp
for(i=0;i<=b;i++)
```
顺便建议整改码风
by Light_Cone @ 2020-01-31 17:43:57
@[元初](/user/120484) 谢谢大佬,问题解决了
by 最菜的一笔 @ 2020-02-03 17:04:27