文章
9
粉丝
0
获赞
39
访问
981
思路:对移除的每棵树都做一次标记,则当没有标记时候,才可以移除,若有标记,则表示已经移除过了。
arr[i] == 0 表示无标记, 1 表示有标记
// 1126
#include <bits/stdc++.h>
using namespace std;
int main(){
int l,m;
while(cin >> l >> m){
int *arr = (int*)malloc(sizeof(int) * (l + 5));
for(int i = 0; i < (l + 5); i++) arr[i] = 0;
int cnt = l + 1;
for(int i = 0; i < m; i++){
int a,b; // a 起点 b 端点
cin >> a >> b;
for(int j = a; j <= b; j++){
if(arr[j] == 0){
cnt--;
arr[j] = 1; // 标记上,下次就进不来
}
}
}
cout << cnt << endl;
}
}
登录后发布评论
暂无评论,来抢沙发