Задача E. Путь спелеолога
Пещера представлена кубом, разбитым на N частей по каждому измерению (то есть на N 3 кубических клеток). Каждая клетка может быть или пустой, или полностью заполненной камнем. Исходя из положения спелеолога в пещере, требуется найти, какое минимальное количество перемещений по клеткам ему требуется, чтобы выбраться на поверхность. Переходить из клетки в клетку можно, только если они обе свободны и имеют общую грань.
Ограничения: 1 <= N <= 30, время 2 с.
Ввод из файла speleo.in. В первой строке содержится число N. Далее следует N блоков. Блок состоит из пустой строки и N строк по N символов: #
- обозначает клетку, заполненную камнями, точка - свободную клетку. Начальное положение спелеолога обозначено заглавной буквой S
. Первый блок представляет верхний уровень пещеры, достижение любой свободной его клетки означает выход на поверхность. Выход на поверхность всегда возможен.
Вывод в файл speleo.out. Вывести одно число - длину пути до поверхности.
Примеры Ввод 1
3
###
###
.##
.#.
.#S
.#.
###
...
###
Вывод 1
6
Комментарий 1
Нужно спуститься на уровень вниз,
сделать два движения на запад,
подняться на уровень вверх,
сделать движение на юг,
подняться на уровень вверх.