Men definieert een zandlopervorm in een rooster als volgt:

Zandlopervorm in een 3 × 3 matrix.

Zandlopervorm in een 3 × 3 matrix.

Gegeven een m × n rooster, zoek dan de zandlopervorm met de grootste som.

Gevraagd

Schrijf een functie zandloper(rooster) dat gegeven een m × n de grootste som van alle zandlopervormen bepaalt. Dit rooster bevat minimaal 3 rijen en 3 kolommen.

Bestudeer grondig onderstaande voorbeelden.

Voorbeelden

>>> zandloper([[ 1, 2, 3],
               [ 4, 5, 6],
               [ 7, 8, 9]])
35

Dit rooster bevat immers maar één zandlopervorm, met als som 1 + 2 + 3 + 5 + 7 + 8 + 9.

>>> zandloper([[ 6, 2, 1, 3],
               [ 4, 2, 1, 5],
               [ 9, 2, 8, 7],
               [ 4, 1, 2, 9]])
30

De zandlopervorm met de grootste som is 6 + 2 + 1 + 2 + 9 + 2 + 8.