CSES 1194 - Monsters
1.0s 512M你和一些怪物在一座迷宮裡。當你朝某個方向走一步時,每隻怪物也可能同時各自走一步。你的目標是抵達其中一個邊界格,且全程未曾與任何怪物站在同一格上。
你的任務是判斷此目標是否可達;若可達,請輸出一條可行的路徑。你的計畫必須在任何情況下都奏效,即使怪物事先知道你的路徑也是如此。
輸入格式
第一行包含兩個整數 \(n\) 與 \(m\):地圖的高度與寬度。
接下來 \(n\) 行,每行為一個長度為 \(m\) 的字串,描述地圖。每個字元為:
.表示空地#表示牆A表示起點M表示怪物
輸入恰好包含一個 A。
輸出格式
若目標可達,第一行輸出 YES;否則輸出 NO。
若目標可達,接下來輸出一條合法路徑:第一行為路徑長度,第二行為用字元 D、U、L、R(分別代表下、上、左、右)描述的路徑。你可以輸出任一條合法路徑,只要其長度不超過 \(n \cdot m\) 步。
範例輸入 1
5 8
########
#M..A..#
#.#.M#.#
#M#..#..
#.######
範例輸出 1
YES
5
RRDDR
限制
- \(1 \le n, m \le 1000\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入