清粥


私信TA

用户名:uq_28714189225

访问量:140

签 名:

等  级
排  名 5308
经  验 1560
参赛次数 0
文章发表 7
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:遍历出需要挪树的具体坐标,再删除列表中重复的坐标,其值去减去其树的总数,就等于剩下的树

注意事项:

参考代码:

# a表示这段路一共有多少棵树,b表示这段路一共有多少个区域
a,b = map(int,input().split())
a = a + 1
# c 用于存放后面需要挪树的区域
c = []
# d 用于存储遍历c的值(也就是需要挪树的端点值)
d = []
#
for i in range(b):
   # 创建一个二维数组,以防重叠区域互相干扰
   c.append(list(map(int,input().split())))
for i in c:
   e = 0  # 记录起点
   f = 0  # 记录终点
   g = 0
   for j in i:
       # e,f 分别记录j两次循环的值,也就是起点和终点,用于记录循环次数
       if g == 0:
           e = j
       if g == 1:
           f = j
       g += 1
       # 循环三次就进行遍历,将起点和终点间的坐标全部遍历出来
       if g == 2:
           for k in range(e,f+1):
               d.append(k)
           # 对g置0,不然下一次循环会直接遍历
           g = 0
d = list(set(d))
print(a - len(d))

 

0.0分

1 人评分

  评论区

  • «
  • »