标题:校门外的树
取消只看楼主
书呆
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:188
注 册:2010-3-26
结帖率:100%
已结贴  问题点数:20 回复次数:3 
校门外的树
问题描述:
某校大门外长度为 L 的马路上有一排树,每两棵相邻的树之间的间隔都是1 米。我们
可以把马路看成一个数轴,马路的一端在数轴0 的位置,另一端在L 的位置;数轴上的每
个整数点,即0,1,2,……,L,都种有一棵树。
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已
知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些
区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上
还有多少棵树。
输入数据:
输入的第一行有两个整数L(1 <= L <= e9)和 M(1 <= M <= 100),L 代表马路
的长度,M 代表区域的数目,L 和M 之间用一个空格隔开。接下来的M 行每行包含两个不
同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
输出要求:
输出包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。
输入样例:
500 3
150 300
100 200
470 471
输出样例:
298

[ 本帖最后由 书呆 于 2010-3-26 18:50 编辑 ]
搜索更多相关主题的帖子: 校门 
2010-03-26 16:38
书呆
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:188
注 册:2010-3-26
得分:0 
回复 2楼 ldg628
请注意L的范围(1 <= L <= e10)

沉醉东风月下读。柴门闭,莫管客来无。
2010-03-26 17:27
书呆
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:188
注 册:2010-3-26
得分:0 
(int *)malloc(sizeof(int)*(L+1));
你不觉得你开的数组太过了吗?e10 啊!38G!

沉醉东风月下读。柴门闭,莫管客来无。
2010-03-26 18:13
书呆
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:188
注 册:2010-3-26
得分:0 
L的取值修改为 1<= L<=e9 , int表示范围之内,怎么办呢?
ldg628 的方法只是当L值很小的时侯可用,L很大时,就不行了

沉醉东风月下读。柴门闭,莫管客来无。
2010-03-26 18:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-300621-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.112883 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved