给定一个迷官的地图,地图是一个二维矩阵,其中 0 表示通道,1 表示墙壁,s 表示起点,E 表示终点。你需要从起点 S 出发,通过最路径到达终点 E ,返回最短路径的步数,如果无法到达终点,则返回 −1,迷宫中会有虫洞,用数字 2 表示,成对出现,你走入虫洞可以穿越到另一个虫洞出口,耗费 0 步。
你只能上下左右移动,并且不能走出迷官的边界,也不能穿越墙壁
第一行包含两个整数 m,n(1≤m,n≤50) ,表示迷宫的行数和列数。
使用 广度优先搜索(BFS) 求解迷宫最短路径问题。BFS 自然保证第一次到达某状态时即为最短步数。
预处理 扫描整个地图,记录:
'2'
的坐标,按出现顺序两两配对,建立映射表 teleport
,使得每个虫洞能瞬时传送至其配对位置。