Задача динамического программирования "Золотая пирамида"

У меня есть задание, которое нужно выполнить используя динамическое программирование. Звучит так: В треугольнике из чисел

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? Заранее благодарю за ответ!


Ответы (0 шт):