【蓝桥杯学习】数字三角形

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
'''        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值