为什么最后一个点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))