#P1174. Orange走迷宫

Orange走迷宫

Orange走迷宫

题目描述

Orange遇到了一个大小为 n×mn \times m 的迷宫。Orange位于迷宫的 (1,1)(1, 1),迷宫的出口位于 (n,m)(n,m)。Orange每次可以移动到上下左右四个格子中的一个(但是不能越界),你需要帮他找到一条出去的路,这条路必须最短(即移动次数最短),并输出最短路的长度。

同时,题目保证 (1,1)(1, 1)(n,n)(n, n) 为空地, 且 (1,1)(1, 1) 一定可达 (n,m)(n,m)

迷宫由道路和墙构成,其中 11 表示墙, 00 表示道路,墙是不可以通行的。

输入格式

第一行两个整数 n,m(1n,m1000)n, m(1 \le n, m \le 1000)。 接下来为一个 n×mn \times m 的矩阵,表示迷宫。

输出格式

一个整数,表示最短路的长度。

样例 #1

样例输入 #1

5 5
0 1 0 0 0
0 0 0 1 0
1 1 0 0 0
0 0 0 1 1
1 1 0 0 0

样例输出 #1

8