计算马路上还有多少棵树
2017-11-12 22:45
309 查看
试题描述
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
输入格式
第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
输出格式
包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。
样例输入
样例输出
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
输入格式
第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
输出格式
包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。
样例输入
500 3 150 300 100 200 470 471
样例输出
298
#include <stdio.h> int main() { int l,m,a[100001],x,y,i,sum,j; while(scanf("%d%d",&l,&m)!=EOF){ sum=0; for(i=0;i<=l;i++){ a[i]=1; } for(i=0;i<m;i++){ scanf("%d%d",&x,&y); for(j=x;j<=y;j++){ a[j]=0; } } for(i=0;i<=l;i++){ sum+=a[i]; } printf("%d\n",sum); } return 0; }
相关文章推荐
- php计算到指定日期还有多少天的方法
- 计算下一个生日还有多少天
- 云计算到来,IT部门还有多少事情可做? 推荐
- 一段js小代码,计算距春节还有多少天
- 一段js小代码,计算距春节还有多少天
- js计算现在到某一个时刻还有多少时间的代码
- .net 计算当前时间距离今晚00:00:00还有多少分多少秒
- 计算一个时间距离今天还有多少天
- java 计算一个月有多少天和多少周
- 计算两个日期之间相差多少天,计算当前日期是星期几
- Python 计算已经过去多少个周末
- JAVA练习(计算指定目录下有多少子目录及文件)
- CSU 1021 从m个不同元素中取出n (n ≤ m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数。组合数的计算公式如下: C(m, n) = m!/((m - n)!n!) 现在请问,如果将组合数C(m, n)写成二进制数,请问转这个二进制数末尾有多少个零。
- 【生活问题】买房子,采光计算,还有一些生活教育感悟
- JS 计算两日期时间相差多少天
- JavaScript基础 计算现在时间 距离 未来一时间 相差多少天
- 【技巧】 - 关于计算某个月有多少天 - 黑马程序员
- 3286 How many 0's? 计算(n,m)中有多少个0
- [HDU] 1903 Exchange Rates 计算炒外汇最佳投机能赚多少钱的
- PHP计算每个月有多少工作日