学习记录:
数组存值的时候 a[10001]题目提示的范围是数据<=10000,所以数组长度给定a[10001],就是这里一开始没有改!!!所以报错一直是Runtime error,一搜才知道这可能是数组长度过小QAQ
需要注意的点是:树的树木0-l,所以树木总数是l+1,输入a[i]=i;
砍伐的树木是,max-min+1 在范围之内就是a[i]=-1
一开始自己都是l-min,其实是可以最后去数剩余的树,a[i]!=-1 sum++;
#include<iostream>
using namespace std;
int main() {
int l, m;
int a[10001] ={0};
int min, max,sum=0;
cin >> l;
for (int i = 0;i <= l;i++) { //l
a[i] = i;
}
cin >> m;
for (int i = 0;i < m;i++) { //m
cin >> min >> max;
for (int i = min;i <= max;i++) { //max-min+1
a[i] = -1;
}
}
for (int i = 0;i <= l;i++) { //l
if (a[i]!=-1) sum++;
}
cout << sum;
return 0;
}