陌上竹叶


私信TA

用户名:dotcpp0688131

访问量:902

签 名:

ありがと

等  级
排  名 873
经  验 3573
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校 内蒙古大学
专  业 软件工程

  自我简介:

Ciallo~

TA的其他文章

原题:

某校大门外长度为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分

7 人评分

  评论区

没有实力
2023-10-20 09:26:42
  • «
  • 1
  • »