Правила:
В этой игре вы начинаете на вершине прямоугольной сетки размером 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 в качестве параметров командной строки.
Дополнительный кредит, если вы можете заставить вашу программу распечатать путь в той или иной форме.