eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Шлях спелеолога

Шлях спелеолога

Печеру подано кубом, розбитим на \textbf{N} частинй по кожному виміру (тобто на \textbf{N}^3 кубічних клітинок). Кожна клітинка може бути або пустою, або повністю заповненою каменем. Виходячи з положення спалеолога у печері, потрібно знайти, яку мінімальну кількість переміщень по клітинкам йому потрібно, щоб вибратись на поверхню. Переходити з клітинки у клітинку можна, лише якщо вони обидві вільні і мають спільну грань. \InputFile У першому рядку міститься число \textbf{N} (1 ≤ \textbf{N} ≤ \textbf{30}). Далі йде \textbf{N} блоків. Блок складається з пустого рядка і \textbf{N} рядків по \textbf{N} символів: \textbf{#} позначає клітинку, заповнену каменями, точка - вільну клітинку. Початкове положення спалеолога позначено великою літерою \textbf{S}. Перший блок подає верхній рівень печери, досягнення довільної вільної його клітинки означає вихід на поверхню. Вихід на поверхню завжди можливий. \OutputFile Вивести одне число - довжину шляху до поверхні.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3

###
###
.##

.#.
.#S
.#.

###
...
###
Вихідні дані #1
6