您的位置:首页 > 其它

13-题目1088:剩下的树

2016-02-21 17:30 316 查看

http://ac.jobdu.com/problem.php?pid=1088

题目描述:

有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,...,L共L+1个位置上有L+1棵树。

现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。

可能有M(1<=M<=100)个区间,区间之间可能有重叠。现在要求移走所有区间的树之后剩下的树的个数。

题目比较简单,就是把区间内对应的点的值赋为0,剩下的1相加即可
//13-题目1088:剩下的树
#include<stdio.h>
#include<iostream>
#include <fstream>
using namespace std;

int main()
{
int L, M, i, low, high, tree[10001];//L为区间,M为要取出的区间数
//ifstream cin("data.txt");
while (cin >> L >> M)
{
int sum = 0;
for (i = 0; i <= L; i++)
tree[i] = 1;
for (i = 0; i < M; i++)
{
cin >> low >> high;
for (int j = low; j <= high; j++)
tree[j] = 0;
}
for (i = 0; i <= L; i++)
sum += tree[i];
cout << sum << endl;
}
//system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: