好吧所以我有这个问题我有一个2D网格,一个玩家在中间开始我必须找到一个角落的最高价值路径我可以但它不能这样倒退你只能左右向上移动而不是对角线
[[0,1,2,4,5],
[5,4,8,8,2],
[5,8,x,1,4],
[7,4,1,2,8],
[4,4,5,9,2]]
如果你向上移动就变成
[[0,1,2,4,5],
[5,4,x,8,2]]
现在您的价值为8,任何帮助都会受到赞赏我真的很难为此而且很快就会到期
这是我到目前为止构建的数据类型,其房间为2d网格,v为目前的值
def LT(building,x,y,v):
print(x,y,v)
print(building.rooms[x][y].food)
r=0
if(not(x==0 and y ==0)):
if(x-1>=0 and y-1>=0):
if(building.rooms[x-1][y].food>building.rooms[x][y-1].food):
return v + LT(building,x-1, y, v+building.rooms[x-1][y].food)
else:
return v + LT(building, x - 1, y, v + building.rooms[x][y-1].food)
elif(not(x-1>=0)):
return v + LT(building, x, y-1, v + building.rooms[x - 1][y].food)
elif (not (y - 1 >= 0)):
return v + LT(building, x-1, y , v + building.rooms[x - 1][y].food)
return v
这就是我目前左上角所拥有的,但它返回了一个非常高的数字,我不能去工作