201909-2 小明种苹果(续)
代码如下:
#剩余数量
def remain(tree):
rem = []
for i in tree:
count = i[1]
for j in range(2, len(i)):
if i[j] > 0:
count = i[j]
else:
count += i[j]
rem.append(count)
count_remain = 0
for i in rem:
count_remain += i
return count_remain
#掉落情况
def drop(tree):
dropp = []
for i in range(n):
dropp.append(0)
for m, i in enumerate(tree):
count = i[1]
for j in range(2, len(i)):
if i[j] > 0:
if i[j] < count:
dropp[m] = 1
break
else:
count = i[j]
else:
count += i[j]
count_drop = 0
for i in dropp:
if i == 1:
count_drop += 1
count_continue = 0
for i in range(1, n - 1):
if dropp[i] == 1 and dropp[i - 1] == 1 and dropp[i + 1] == 1:
count_continue += 1
if dropp[n - 2] == 1 and dropp[n - 1] == 1 and dropp[0] == 1:
count_continue += 1
if dropp[n - 1] == 1 and dropp[0] == 1 and dropp[1] == 1:
count_continue += 1
return count_drop,count_continue
#输入
n = eval(input())
tree = []
for i in range(n):
a = input().split(' ')
a = [int(i) for i in a]
tree.append(a)
#统计剩余苹果树
count_remain = remain(tree)
#统计苹果掉落棵数和连续三棵树掉落的个数
count_drop,count_continue = drop(tree)
print(count_remain, count_drop, count_continue)