Задача динамического программирования "Золотая пирамида"
У меня есть задание, которое нужно выполнить используя динамическое программирование. Звучит так: В треугольнике из чисел
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
необходимо построить маршрут от вершины к основанию двигаясь только по диагонали, при этом найти наибольшую и наименьшую сумму чисел на этом маршруте и так для каждой вершины треугольника. В интернете нашел только построение маршрута,
def golden_pyramid_d(triangle):
tr = [row[:] for row in triangle] # copy
for i in range(len(tr) - 2, -1, -1):
for j in range(i + 1):
tr[i][j] += max(tr[i + 1][j], tr[i + 1][j + 1])
return tr[0][0]
но мне нужно построить маршрут ТОЛЬКО по диагонали и для каждой из вершин. Как можно реализовать это на Python? Заранее благодарю за ответ!