走迷宫
题目描述
Y 同学迷失在一个大小为 的网格矩阵表示的迷宫中。
在矩阵中,数字 表示空白处,可以通行;数字 表示障碍物,不可通行。
初始时,Y 同学位于迷宫的左上角 处。每一秒钟,Y 同学可以沿着上、下、左、右四个方向之一移动到相邻的格子,前提是目标格子在迷宫内部,并且不是障碍物。
Y 同学的目标是走到迷宫的右下角 处。请你计算他能否到达目的地。如果能够到达,求出所需的最短时间(秒数);如果无法到达目的地,请输出 。
输入格式
第一行包含两个整数 和 ,分别表示迷宫矩阵的行数和列数。
接下来的 行,每行包含 个整数,每个整数为 或 ,表示迷宫的地图。相邻的整数之间由一个空格隔开。
数据保证起点 和终点 的位置均为 。
输出格式
输出一行一个整数。若 Y 同学能够到达终点 ,则输出所需的最短时间;若无法到达,则输出 。
样例
样例输入 #1
5 5
0 1 0 0 0
0 0 0 1 0
1 1 0 1 0
0 0 1 0 0
1 0 0 1 0
样例输出 #1
10
数据范围与约定
对于 的数据,保证 。
| 子任务编号 | 分值 | 特殊性质 | |
|---|---|---|---|
| 1 | 20 | 无 | |
| 2 | 30 | ||
| 3 | 50 |
京公网安备11010802045784号