Задача №112388. Путь в лабиринте

Напишите программу, которая определяет длину кратчайшего пути в лабиринте из левого верхнего угла в правый нижний. Лабиринт задаётся в виде матрицы из N строк и M столбцов, в которой каждый элемент равен 0 (клетка свободна) или -1 (клетка непроходима). Гарантируется, что левый верхний угол и правый нижний свободны. Если нужного маршрута нет, программа должна вывести число -1.

Входные данные

В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 ≤ N , M ≤ 100 ). В следующих N строках записаны строки матрицы, в каждой – по M чисел (могут быть только значения 0 или -1), разделённых пробелами.

Выходные данные

Программа должна вывести одно число – длину кратчайшего маршрута из левого верхнего угла лабиринта в правый нижний. Если таких маршрутов нет, нужно вывести число -1.

Примеры
Входные данные
5 5
0 -1 0 0 0
0 -1 0 -1 0
0 0 0 -1 0
-1 -1 -1 -1 0
0 0 -1 0 0
Выходные данные
12
Сдать: для сдачи задач необходимо войти в систему