10362: Шлях в лабіринті-2


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

Бали: 100 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

В лабіринті з \(N\) рядків та \(M\) стовпчиків, в якому кожен елемент дорівнює 0 (клітинка вільна), або 1 (клітинка непрохідна), знайдіть найкоротший шлях між двома заданими клітинками.

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

В першому рядку два числа \(N,M\) - кількість рядків та стовпчиків лабіринту. (\(1 \le N,M \le 1000\))
В наступних \(N\) рядках по \(M\) чисел, які описують карту лабіринту.
В передостанньому рядку два цілих числа \(R1,C1\) - номер рядка і стовпчика стартової клітинки.
В останньому рядку два цілих числа \(R2,C2\) - номер рядка і стовпчика фінішної клітинки.

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

Виведіть єине число - довжину найкоротшого маршруту з лівого верхнього кута лабіринту, в правий нижній.
Якщо такого маршруту не існує, виведіть -1

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

4 6
1 0 1 1 1 0
0 0 1 0 0 0
1 0 1 1 0 0
0 0 0 0 0 0
1 2
3 5

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

7

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

4 6
1 0 1 1 1 0
0 0 1 0 0 0
1 0 1 1 0 0
0 0 0 1 0 0
1 2
3 5

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

-1

Коментарі

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