Un labyrinthe en descente est donné comme une série de rangées de chiffres séparés par des espaces de 0 à 9 inclus, plus un "S" et un "X", où le S désigne le début et le X désigne la fin. Dans un labyrinthe en descente, vous ne pouvez aller que dans un espace adjacent à vous au nord, au sud, à l'est ou à l'ouest (pas de diagonales), et vous ne pouvez aller que dans des espaces avec une valeur inférieure ou égale à la valeur que vous sont actuellement activés.
Le programme doit sortir un chemin pour naviguer à travers le labyrinthe dans le même format que l'entrée, seuls tous les espaces traversés doivent avoir un "." en eux, et tous les espaces non visités doivent avoir un "#" en eux. Les cellules de début et de fin doivent également conserver leurs «S» et «X», respectivement. Vous pouvez supposer qu'il existe toujours une solution au labyrinthe.
Exemple d'entrée:
3 3 3 3 2 1 S 8 9
3 1 1 3 3 0 6 8 7
1 2 2 4 3 2 5 9 7
1 2 1 5 4 3 4 4 6
1 1 X 6 4 4 5 5 5
Exemple de sortie:
. . . . # # S . #
. # # . . # # . .
. # # # . # # # .
. # # # . # # # .
. . X # . . . . .
0
à 9
inclusif, non?
S
etX
dans n'importe quelle direction? Le labyrinthe est-il toujours résoluble?