470-471 砍了2棵
100到300砍了201棵 (300-100+1)
不是應該剩297棵嗎?
另外想請教板友們下面的C++程式碼,前二組資測答案錯,但後面都對,請問問題出在哪裡?
int main() {
int L, M;
cin>>L>>M;
bool a[L] = {0};
int left, right;
for(int i = 0; i < M; i++) {
cin>>left>>right;
for(int j = left; j < right; j++) { //這裡如果改成 r<=right 的話,變成只有前三個對,後面答案都差1
if(!a[j])
a[j] = true;
}
}
int tree = 0;
for(int i = 0; i < L; i++)
if(!a[i])
tree++;
cout<<tree;
return 0;
}
自己回應自己
因為座標0上面也有樹,所以要加回去
所以陣列應該設成 a[L+1] 才對
這樣跑就AC了