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
Коментарі