解题思路:遍历出需要挪树的具体坐标,再删除列表中重复的坐标,其值去减去其树的总数,就等于剩下的树
注意事项:
参考代码:
# 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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复