Правила:
В этой игре вы начинаете на вершине прямоугольной сетки размером N x M, состоящей из стен и открытых пространств. Входные данные - это N строк из M символов, где a .
указывает открытое пространство, а a x
указывает стену. Ваша программа должна вывести наименьшее число K так, чтобы существовал путь из верхнего левого угла в нижний правый угол (без диагоналей), который пересекает K стен.
Например, с учетом ввода:
..x..
..x..
xxxxx
..x..
..x..
ваша программа должна вывести 2
.
Другие примеры:
вывод 4
:
xxxxx
x.x.x
x.x.x
x..xx
вывод 0
:
.xxxxxxxx
.x...x...
.x.x.x.x.
.x.x...x.
...xxxxx.
вывод 6
:
xx
xx
xx
xx
xx
Дополнительные лакомые кусочки:
Если это облегчает вашу жизнь, вы можете указать N и M в качестве параметров командной строки.
Дополнительный кредит, если вы можете заставить вашу программу распечатать путь в той или иной форме.