CSP 201909-2 Xiao Mingの種類のリンゴ(続き)Pythonの実装+詳細な説明

テストの質問

ここに写真の説明を挿入ここに写真の説明を挿入
ここに写真の説明を挿入

コード

# 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)

運用結果

ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_44997802/article/details/108348469