解题思路:遍历出需要挪树的具体坐标,再删除列表中重复的坐标,其值去减去其树的总数,就等于剩下的树
注意事项:
参考代码:
# 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 人评分