wky_wsy @ 2024-09-26 22:52:01
#include <iostream>
#include <cstdio>
#include <cmath>
#include <map>
#include <vector>
#include <algorithm>
#include <string>
#include <cstring>
#define int long long
using namespace std;
signed main(){
int l,m,q,z;
cin>>l>>m;
int c=l+1,a[l+1]={1};
while(m){
scanf("%d%d",&q,&z);
for(int i=q;i<=z;i++){
if(a[i]==1){
--c;
a[i]=0;
}
}
m--;
}
cout<<c;
return 0;
}
by little_q_exist @ 2024-09-27 22:22:13
1.输入q和z的时候没有空格
"%d %d"这样才对
2.数组只给一个变量赋了值,用一个for循环把0到i的元素都赋值为1
3.
if(a[i]==1){
--c;
a[i]=0;
}
这段代码当有树的地方c自减1,那么c实际上统计的是没有树的数量
4.
a[i]=0;
写到if语句外面,for循环里面,这样后面判断有没有树的代码才能统计全
by little_q_exist @ 2024-09-27 22:23:03
@wky_wsy
by little_q_exist @ 2024-09-27 22:32:41
补一句关于数组初始化的问题,
a[l+1]={1};
这是把a[0]初始化为1,其他都是0,而 ={0},则是把所有元素初始化为0