Максимальное количество элементов в пути матрицы

Я попытался решить проблему карты (матрица 4x4) с помощью Python.

Я хочу найти максимальное количество элементов в пути карты при условии, что следующий узел должен быть меньше предыдущего узла со всеми возможными комбинациями элементов в матрице.

4 8 7 3  
2 5 9 3  
6 3 2 5  
4 4 1 6  

Движение похоже на то, как элемент может двигаться на восток-запад-север-юг

Например, из m [0] [1] можно перейти к m [0] [2] и m [1] [1] 4-> 8 или 2.

Вот пример кода, но я понятия не имею, как рекурсивно проверять каждый элемент.

#import itertools
n = 4 
matrix = [[4, 8, 7, 3 ], [2, 5, 9, 3 ], [6, 3, 2, 5 ], [4, 4, 1, 6]]
for index,ele in enumerate(matrix):
    vals=[]
    for i2,e2 in enumerate(ele):
        for index2,ele2 in enumerate(ele):
            if index < (n-1):
                if ele2 > matrix[index+1] [index2]:
                    vals.append(matrix[index+1] [index2])
            if index > 0:
                if ele2 > matrix[index-1] [index2]:
                    vals.append(matrix[index-1] [index2])
            if index2 < n-1:
                if ele2 > matrix[index] [index2+1]:
                    vals.append(matrix[index] [index2+1])
            if index2 >0:
                if ele2 > matrix[index] [index2-1]:
                    vals.append(matrix[index] [index2-1])

как выполнить эту функцию для цикла до конца

Например, ответ будет выглядеть как 8-5-3-2-1 (самый длинный путь с уменьшающимся коэффициентом)

Ответы на вопрос(1)

Ваш ответ на вопрос