10830. Лабіринт


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Розплющивши очі, Принц Персії виявив, що знаходиться на верхньому рівні підземного лабіринту Джаффара. Лабіринт складається з \(h\) рівнів, розташованих чітко один під одним. Кожен рівень є прямокутним майданчиком, розбитим на \(𝑚 × 𝑛\) ділянок. На деяких ділянках стоять колони, які підтримують стелю, на такі ділянки Принц заходити не може.

Принц може переміщатися з однієї ділянки на іншу ділянку того ж рівня, якщо ці ділянки мають спільну сторону, і жодна з цих ділянок не містить колону. Це рух займає у Принца 5 секунд.

Підлоги в лабіринті Джаффара надзвичайно тонкі, і Принцу не важко сильним ударом ноги проломити підлогу під собою, якщо тільки на відповідній ділянці нижнього рівня не знаходиться колона. Коли підлога проламується, Принц провалюється на один рівень вниз, не переміщаючись при цьому в горизонтальній площині. Ця дія також займає у Принца 5 секунд. Звичайно, якщо Принц вже знаходиться на нижньому рівні, то підлога під ним не проломиться.

На одній із ділянок нижнього рівня Принца чекає Принцеса, яка відмовилася вийти заміж за злого Джаффара. Допоможіть Принцу знайти Принцесу, витративши на це якнайменше часу.

Формат вхідних даних

У першому рядку містяться натуральні числа \(ℎ , 𝑚\) та \(𝑛\) – висота та горизонтальні розміри лабіринту (\(2 ≤ ℎ , 𝑚 , 𝑛 ≤ 50\)).

Далі наведено \(ℎ\) блоків, що описують рівні лабіринту в порядку від верхнього до нижнього. Кожен блок містить \(𝑚\) рядків, по \(𝑛\) символів у кожному: «.» (точка) позначає вільну ділянку, «o» (латинська літера «o») позначає ділянку з колоною, «1» позначає вільну ділянку, в якій опинився Принц на початку своєї подорожі, «2» позначає вільну ділянку, на якій чекає Принцеса. Символи «1» і «2» зустрічаються по одному разу: символ «1» – в описі найвищого рівня, а символ «2» – в описі самого нижнього. Сусідні блоки розділені одним порожнім рядком.

Формат вихідних даних

Виведіть мінімальний час у секундах, необхідний Принцу, щоб знайти Принцесу. Оскільки Добро завжди перемагає Зло, то гарантується, що Принц може це зробити.

Приклад вхідних даних

3 3 3
1..
oo.
...

ooo
..o
.oo

ooo
o..
o.2

Приклад вихідних даних

60

Коментарі

Ще немає коментарів.