原题:

某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。

由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

解题思路:

  1. 创建一个元素全部为1的列表,长度为L+1(即树的棵数)

  2. 循环输入每一行的a,b数

  3. 用range函数循环以0替代第a个数据到第b个数据的1替换为0

  4. 求列表的和t

  5. 输出结果

tips:通过此方法可以避免重复删除数据


参考代码:

L,M=map(int,input().strip().split())
long=[]
for i in range(0,L+1):
    long.append(1)
for k in range(0,M):
    a,b=map(int,input().strip().split())
    for x in range(a-1,b):
        long[x]=0
t=sum(long)
print(t)
点赞(0)
 

0.0分

6 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 2 条评论

陌上竹叶 1年前 回复TA
@oiiiuylon 好好好
oiiiuylon 1年前 回复TA
没有实力