测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70640. 走出迷宫的最少步数2

编程题 基础

题目描述

当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。

假设你已经得到了一个 n \times m 的迷宫的图纸,请你找出从起点到出口的最短路。

输入格式

第一行是两个整数 nm (1 \le n,m \le 100),表示迷宫的行数和列数。

接下来 n 行,每行一个长为 m 的字符串,表示整个迷宫的布局。

字符 . 表示空地,# 表示墙,S 表示起点 T 表示出口。

本题数据保证,从起点到出口存在至少一条合法的路径。

输出格式

输出从起点到出口最少需要走的步数。

输入输出样例

输入 #1
3 3
S#T
.#.
...
输出 #1
6

说明/提示

## 思路

网格最短路用 BFS:队列扩展四方向,第一次到达终点的步数即最短。

## 步骤

1. 读入地图与起终点。
2. BFS 扩展,记录步数与访问标记。
3. 输出最短步数或路径。