經典手遊:冰上滑行
該比賽已結束,您無法在比賽模式下遞交該題目。您可以點選“在題庫中開啟”以普通模式檢視和遞交本題。
Problem: Ice Slide Classic
Story (題序)
這是一款經典手遊風格的滑動冰塊謎題。
地圖中,A 是角色起點、. 是可滑行的冰面、# 是障礙物。
請你設計一串移動指令,讓角色從 A 出發,恰好走過所有 . 各一次。
Input Format
第一行有兩個整數 n m,代表地圖大小。
接著有 n 行,每行長度為 m 的字串,字元只會是:
A:起點(恰好一個).:可走格#:牆
4 5
A..##
...##
.....
.....
Output Format
輸出多行,每行一個指令:
- 方向字元
dir,必須是R、D、L、U之一 - 正整數
len
表示往該方向連續走 len 步。
每一條指令都必須是一次完整滑行:
一旦選定方向,就要一路滑到下一格不是 .(撞牆或出界前一格)才會停下,
不可在中途提前停下或轉向。
若你判定無解,可輸出單獨一行 NaN。
D 3
R 4
U 1
L 3
U 2
R 1
D 1
Validity Rules (for checker)
你的輸出會被 special judge 驗證:
- 角色從
A起始。 - 每一步都必須留在地圖內。
- 每一步必須踩到尚未踩過的
.。 - 不可踩到
#。 - 不可踩回
A。 - 每次移動都必須滑到該方向可滑行的最遠位置,不可滑到一半中途轉向。
- 最終必須把所有
.全部踩完。
滿足以上條件即視為 AC,路徑不必和標準答案相同。
Notes
- 這是特判題,存在多組正確答案。
- 建議先把
A記錄成起點,再把地圖中的A視為不可再進入的格子。