Biorąc pod uwagę macierz składającą się z dodatnich liczb całkowitych, wyprowadzaj ścieżkę z najniższą sumą podczas przechodzenia od lewego górnego elementu do prawego dolnego rogu. Możesz poruszać się pionowo, poziomo i po przekątnej. Pamiętaj, że można przesuwać zarówno w górę / w dół, w prawo / w lewo i po przekątnej na wszystkie strony.
Przykład:
1* 9 7 3 10 2 2
10 4* 1* 1* 1* 7 8
3 6 3 8 9 5* 7
8 10 2 5 2 1* 4
5 1 1 3 6 7 9*
Ścieżka dająca najniższą sumę jest oznaczona gwiazdkami i daje następującą sumę: 1 + 4 + 1 + 1 + 1 + 5 + 1 + 9 = 23 .
Przypadki testowe:
1 1 1
1 1 1
Output: 3
7 9 6 6 4
6 5 9 1 6
10 7 10 4 3
4 2 2 3 7
9 2 7 9 4
Output: 28
2 42 6 4 1
3 33 1 1 1
4 21 7 59 1
1 7 6 49 1
1 9 2 39 1
Output: 27 (2+3+4+7+7+1+1+1+1)
5 6 7 4 4
12 12 25 25 25
9 4 25 9 5
7 4 25 1 12
4 4 4 4 4
Output: 34 (5+12+4+4+4+1+4)
1 1 1 1
9 9 9 1
1 9 9 9
1 9 9 9
1 1 1 1
Output: 15
2 55 5 3 1 1 4 1
2 56 1 99 99 99 99 5
3 57 5 2 2 2 99 1
3 58 4 2 8 1 99 2
4 65 66 67 68 3 99 3
2 5 4 3 3 4 99 5
75 76 77 78 79 80 81 2
5 4 5 1 1 3 3 2
Output: 67 (2+2+3+3+4+5+4+3+3+3+1+2+2+1+3+1+1+4+5+1+2+3+5+2+2)
To jest golf golfowy, więc wygrywa najkrótszy kod w każdym języku.