#LAISIR55. 迷宮寶藏(Treasure in the Maze)

迷宮寶藏(Treasure in the Maze)

No testdata at current.

🧭 題目名稱:迷宮寶藏(Treasure in the Maze)

【題目描述】

你是一名探險者,被困在一座神秘的迷宮中。 迷宮由 N × M 的格子組成,每個格子可能是:

符號 含義
# 牆壁,不可通行
. 空地,可通行
S 起點
E 終點
T 寶藏,可通行

探險者可以從 S 出發,每次可向上下左右四個方向移動一格,不能穿越牆壁。

你的任務是:

找出一條從 S 出發,恰好經過所有寶藏 T 並最終到達 E 的最短路徑長度

若無法找到滿足條件的路徑,輸出 -1


【輸入格式】

第一行:兩個整數 NM(地圖大小)。 接下來的 N 行:每行包含 M 個字符,僅由 SET.# 組成。


【輸出格式】

輸出一個整數,表示最短步數。若無法完成則輸出 -1


【數據範圍】

1 ≤ N, M ≤ 15

【樣例輸入 1】

5 5
S..#E
.#T#.
..#..
.T#T.
.....

【樣例輸出 1】

12

【樣例說明】

最短路徑為:

S → T(1) → T(2) → T(3) → E

全程共需 12 步。