n = int(input())
nums = []
for i in range(n):
nums.append(list(map(int, input().split())))
res = [0] * n
res[0] = nums[0][0]
#dp[j][i] = max(dp[i - 1][i - 1], dp[i - 1][j]) + nums[j][i]
for i in range(1, n):
res[i] = res[i - 1] + nums[i][i]
for j in range(i - 1, 0, -1):
res[j] = max(res[j], res[j - 1]) + nums[i][j]
res[0] = res[0] + nums[i][0]
print(max(res))
洛谷 python P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles
于 2024-03-30 10:55:37 首次发布