问题描述
代码示例:
//一坐标轴表示某道路,从0开始 到L,整数位置上都种有一颗树。现在该路修建地铁,要砍掉铁路线路上的树木。例如:L等于10,铺设4条铁路,坐标是1到2,2到3,2到8,3到5,那么1到8的树都要被砍掉,剩下0,9,10三棵。程序要求,输入L,输入铁路铺设条数m,然后输入m组铁路的坐标。求剩下多少棵树。
#include <bits/stdc++.h>
using namespace std;
void getTree(int tree[], int a, int b){
for(int i = a; i <= b; i++){
tree[i] = 0;
}
}
int main(){
int L;
int n;
int a,b;
cin >> L;
cin >> n;
int tree[L + 1];
for(int i = 0; i <= L; i++){
tree[i] = 1;
}
for(int i = 0; i < n; i++){
cin >> a;
cin >> b;
getTree(tree, a, b);
}
int count = 0;
for(int i = 0; i <= L; i++){
if(tree[i] == 1){
count++;
}
}
cout << count;
return 0;
}