#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。
【輸入格式】
第一行:兩個整數 N、M(地圖大小)。
接下來的 N 行:每行包含 M 個字符,僅由 S、E、T、.、# 組成。
【輸出格式】
輸出一個整數,表示最短步數。若無法完成則輸出 -1。
【數據範圍】
1 ≤ N, M ≤ 15
【樣例輸入 1】
5 5
S..#E
.#T#.
..#..
.T#T.
.....
【樣例輸出 1】
12
【樣例說明】
最短路徑為:
S → T(1) → T(2) → T(3) → E
全程共需 12 步。