n=int(input())
sjx=[]
for i in range(n):
row=list(map(int,input().split()))
sjx.append(row)#前面转化成了列表,用append可以变成二维列表,不能用extend
for y in range(n-1,-1,-1):#起始值为 n-1,结束值为 -1,步长为 -1,从 n-1 开始递减直到 0
for x in range(y):#如果写len(sjx[y])会显示index out of range
sjx[y-1][x]=max(sjx[y][x]+sjx[y-1][x],sjx[y][x+1]+sjx[y-1][x])
print(sjx[0][0])
'''例子
7直到修改第一行的值,选择23
3 8 3选择20,8选择13,得到23 21
8 1 0一直向上倒着走,8可以选7或者12,变成20 13 10
2 7 4 4从这一行开始,2可以选4或5,7可以选5或2,选择大的修改当前的值,这一行变成7 12 10 10
4 5 2 6 5
'''
【蓝桥杯学习】数字三角形
最新推荐文章于 2025-06-04 16:29:08 发布