Seu trabalho é escrever um programa que encontre o número ideal de movimentos necessários para ir do canto inferior esquerdo de um retângulo ao canto superior direito, diretamente oposto.
Seu programa aceitará entrada como um par ordenado (width, height)
. Essas serão as dimensões do retângulo com as quais você trabalhará. Seu programa criará uma arte ASCII da solução (use .
para quadrado vazio e #
parte da solução, X
para iniciar quadrado) e conte o número de movimentos necessários para alcançar o ponto final. Movimentos diagonais não são permitidos. Se houver várias soluções, escolha uma para saída.
O programa mais curto em bytes vence.
Exemplo
Entrada: (4, 5)
Resultado:
..##
..#.
.##.
.#..
X#..
Contagem de movimentos: 7
#
porque é ilógico ir para a esquerda ou para baixo.
#
"a solução ideal" (que é qualquer solução que nunca se move para a esquerda ou para baixo) também?