Votre travail consiste à écrire un programme qui trouve le nombre optimal de mouvements nécessaires pour passer du coin inférieur gauche d'un rectangle au coin supérieur droit directement opposé.
Votre programme acceptera la saisie comme paire ordonnée (width, height)
. Ce seront les dimensions du rectangle avec lequel vous travaillerez. Votre programme créera un art ASCII de la solution (à utiliser .
pour le carré vide et #
pour une partie de la solution, X
pour le carré de départ) et comptera le nombre de mouvements nécessaires pour atteindre le point final. Les déplacements en diagonale ne sont pas autorisés. S'il existe plusieurs solutions, choisissez-en une pour la sortie.
Le programme le plus court en octets gagne.
Exemple
Contribution: (4, 5)
Production:
..##
..#.
.##.
.#..
X#..
Nombre de coups: 7
#
car il est illogique d'aller à gauche ou à descendre.
#
dans "la solution optimale" (quelle est la solution qui ne se déplace jamais vers la gauche ou vers le bas)?