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, Xpara 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?