求助
查看原帖
求助
481846
zxh2002楼主2021/4/27 11:32

为什么最后一个点runtime error 小白求助

# 最大数字路径
def maxsum(i, j):
    if (dp[i][j] != -1):
        return dp[i][j]
    if (i == r):
        dp[i][j] = a[i][j]
    else:
        x = maxsum(i + 1, j)
        y = maxsum(i + 1, j + 1)
        dp[i][j] = max(x, y) + a[i][j]
    return dp[i][j]


r = int(input())
a = [[] for i in range(r + 2)]  # 创建二维数组的方法(此处为r+2行数组,防止数据溢出)
dp = [[] for i in range(r + 2)]

for i in range(1, r + 1):
    a[i]=[int (value)for value in input().split()]
    a[i].insert(0,0)
for i in range(1, r + 1):
    for j in range(1, i + 1):
        dp[i].append(-1)  # 给dp数组初始化
for i in range(1,r+1):
    dp[i].insert(0,-1)
print(maxsum(1, 1))
2021/4/27 11:32
加载中...