Preguntas de prueba
Código
# N表示苹果树的棵树
N = int(input())
T, D, E = 0, 0, 0
# 所有树剩果总数
# 发生苹果掉落的苹果树总数
# 相邻三棵树发生苹果掉落的组数
treeMatrix = [] # 存放所有数的数果疏果信息
for i in range(N):
treeRow = list(map(int, input().split()))
treeRow = treeRow[1:]
treeEach = treeRow[0] # 存放每棵苹果树当前果数
# 对每一棵树的数果疏果情况进行遍历
for i in range(1, len(treeRow)):
# 如果小于等于0,说明为疏果操作,直接加
if treeRow[i] <= 0:
treeEach += treeRow[i]
# 如果大于0,说明为数果操作,如果此时数得的数量大于之前统计数量,说明果子掉落,在列表结尾加'True'标志
elif treeEach > treeRow[i]:
# 判断之前是否已经有果子掉落
if treeRow[-1] != 'True':
treeRow.append('True')
D += 1
treeEach = treeRow[i]
# 如果为数果操作,且如果此时数得的数量等于之前统计数量,treeEach保持不变,无需操作
T += treeEach
treeMatrix.append(treeRow)
# 计算组数E
for i in range(len(treeMatrix)):
before, after = i-1, i+1 # 存放前后两棵树的掉落情况
# 这棵树是第一棵树,前一棵树就是最后一棵
if before < 0:
before += len(treeMatrix)
# 这棵树是最后一棵树,前一棵树就是第一棵
if after > len(treeMatrix)-1:
after -= len(treeMatrix)
if treeMatrix[before][-1] == treeMatrix[i][-1] == treeMatrix[after][-1] == 'True':
E += 1
print(T, D, E)