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

注意事项:

参考代码:

# 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.0分

1 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论