小明是一个寻宝爱好者,最近他听说了一个关于迷宫中藏有宝藏的传说。于是,他决定挑战这个迷宫,找到隐藏在其中的宝藏。但是,迷宫中布满了墙壁和通道,而且迷宫中还隐藏了许多陷阱,想要顺利找到宝藏并不容易。 给定一个迷宫地图,地图由一个二维数组表示,数组中的每个元素代表一个迷宫单元格,其中 表示可通行的空地, 表示墙壁。小明的任务是找到从迷宫的起点到终点的最短路径,并输出路径的长度。迷宫的起点用 表示,终点用 表示。小明可以在迷宫中向上、向下、向左、向右移动,但不能穿过墙壁。
第一行包含两个整数 和 ,表示迷宫的行数和列数。 接下来的 行,每行包含 个整数,描述迷宫的地图。其中 表示空地, 表示墙壁, 表示起点, 表示终点。
输出一个整数,表示从起点到终点的最短路径的长度。如果不存在从起点到终点的路径,则输出 。
5 5 S 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 E
10
对于 100% 的数据, 。