10473: Лівий лабіринт
У спортзалі розміром \(N \times M\) метрів збудували сучасний атракціон під назвою "Лівий лабіринт". Для цього на підлозі спортзалу з інтервалом 1 метр накреслили лінії, паралельні стінам спортзалу. Таким чином, спортзал розбили на \(N \times M\) клітин. Далі деякі з цих клітин пофарбували у чорний колір.
Атракціон полягає в тому, що учасника ставлять у деякій клітці спортзалу та просять якнайшвидше добігти до деякої іншої клітини. При цьому накладаються такі умови:
- Учаснику заборонено ходити чорними клітинами.
- Прийшовши до якоїсь клітини, учасник може піти або прямо, або ліворуч, або праворуч (якщо у відповідному напрямку клітина не пофарбована в чорний колір): ходити назад, а також ходити по діагоналі забороняється.
- За весь час шляху учаснику дозволяється повернути праворуч (тобто піти з поточної клітини праворуч щодо того, звідки він прийшов у цю клітинку) не більше \(K\) разів.
У початковій клітині учасник може стати обличчям у той бік, у який йому заманеться. З якого боку учасник прибіжить до кінцевої клітини також не важливо. Відомо, що на те, щоб перебігти з клітки до сусідньої, учасник витрачає рівно 1 секунду. Потрібно визначити мінімальний час, за який учасник зможе досягти кінцевої клітини.
Формат вхідних даних
У вхідному потоці спочатку записано число \(K\) — кількість дозволених поворотів направо (ціле число з діапазону від 0 до 5), потім записано числа \(N\) і \(M\), що задають розміри спортзалу — натуральні числа, що не перевищують 20.
Далі записано \(N\) рядків \(M\) чисел у кожній . Число 0 позначає непофарбовану клітину, число 1 - пофарбовану, число 2 - клітинку, звідки стартує учасник і число 3 - клітинку, куди потрібно добігти (клітини, позначені 2 і 3 непофарбовані). У лабіринті завжди є рівно одна початкова клітина і рівно одна клітина, в яку потрібно потрапити.
Формат вихідних даних
У вихідний потік виведіть мінімальний час, за який можна дістатися до кінцевої клітини. Якщо потрапити до кінцевої клітини з дотриманням усіх умов не можна, виведіть –1.
Приклад вхідних даних-1
1 3 4
0 0 2 0
0 1 1 0
0 0 3 0
Приклад вихідних даних-1
6
Приклад вхідних даних-2
0 5 5
0 1 0 0 0
0 1 0 1 0
0 0 3 1 0
1 0 1 1 0
2 0 0 0 0
Приклад вихідних даних-2
12
Коментарі