Ваша задача - написать программу, которая находит оптимальное количество ходов, необходимое для перехода из левого нижнего угла прямоугольника в правый верхний угол напротив.
Ваша программа примет входные данные в виде упорядоченной пары (width, height)
. Это будут размеры прямоугольника, с которым вы будете работать. Ваша программа создаст ASCII-арт решения (используйте .
для пустого квадрата и #
для части решения, X
для начального квадрата) и посчитайте количество ходов, необходимых для достижения конечной точки. Диагональные ходы не допускаются. Если существует несколько решений, выберите одно для вывода.
Самая короткая программа в байтах побеждает.
пример
Входные данные: (4, 5)
Выход:
..##
..#.
.##.
.#..
X#..
Количество ходов: 7
#
потому что нелогично идти влево или вниз.
#
в «оптимальном решении» (какое решение всегда движется влево или вниз)?