Il tuo compito è quello di scrivere un programma che trova il numero ottimale di mosse necessarie per ottenere dall'angolo inferiore sinistro di un rettangolo all'angolo superiore destro direttamente opposto.
Il tuo programma accetterà l'input come coppia ordinata (width, height)
. Queste saranno le dimensioni del rettangolo con cui lavorerai. Il tuo programma creerà un'arte ASCII della soluzione (utilizzare .
per il quadrato vuoto e #
per parte della soluzione,X
per il quadrato iniziale) e conteggerà il numero di mosse necessarie per raggiungere l'endpoint. Non sono consentite mosse diagonali. Se ci sono più soluzioni, scegline una per l'output.
Vince il programma più breve in byte.
Esempio
Ingresso: (4, 5)
Produzione:
..##
..#.
.##.
.#..
X#..
Conteggio mosse: 7
#
perché è illogico andare a sinistra o in basso.
#
"la soluzione ottimale" (che è una soluzione che non si sposta mai a sinistra o in basso)?