原题:
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
解题思路:
创建一个元素全部为1的列表,长度为L+1(即树的棵数)
循环输入每一行的a,b数
用range函数循环以0替代第a个数据到第b个数据的1替换为0
求列表的和t
输出结果
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分
7 人评分
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:695 |
printf基础练习2 (C语言代码)浏览:591 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:458 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1514 |
九宫重排 (C++代码)浏览:1326 |
printf基础练习2 (C语言代码)浏览:941 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1143 |
WU-输出九九乘法表 (C++代码)浏览:1654 |
校门外的树 (C语言代码)浏览:692 |
printf基础练习2 (C语言代码)浏览:617 |
陌上竹叶 2023-10-20 09:27:54 |
好好好