Python代码,求大佬指教
查看原帖
Python代码,求大佬指教
901149
linyiyi123456楼主2023/10/29 21:09
from functools import cache


def max_number(number, connect):
    n = len(number)

    @cache
    def dfs(i):
        if i < 0:
            return 0
        for j in range(i, 0, -1):
            if connect[i - 1][j - 1] == 1:
                return max(dfs(i - 1), dfs(i - 1) + number[i - 1])
        return dfs(i - 1)

    return dfs(n - 1)


n = int(input())
number = list(map(int, input().split()))
connect = [[0] * (n - 1) for _ in range(n - 1)]

for i in range(n - 1):
    connect[i] = list(map(int, input().split()))

result = max_number(number, connect)
print(result)

2023/10/29 21:09
加载中...