回分類題庫
d640: 天才阿峻的煩惱
關鍵字: bloxorz

困难度 : 3 | 測資點: 1 ( 公開 ) | 評分方式: Tolerant Judge
通过 : 5 人 /6 次 | 送出 : 5 人 /23 次 | 通过比率 : 100%
时间限制為: 1s | 内存限制 : 64MBytes
最近更新 : 2010-02-01 21:55

内容 : 正體->简体

     年僅5歲的阿峻已是一名高中生。他在2歲時就會背九九乘法表,3歲時就已經會多項式,4歲就會微積分,因而得到了「天才」的封號。不過,他最近卻遭遇到了人生的第一個挫折。

阿峻迷上了一個有趣的益智遊戲,這個遊戲是這樣的:有一個長、寬、高為1*1*2的方塊,從起始點開始上下左右移動它,想盡各種方法避開所有障礙,使方塊「垂直」立在終點就贏了!

 

範例走法

阻礙(#)

阻礙(o)

但是他試了三天三夜,還是破不了。你可能會問:「為什麼他不去求助其他人呢?」,正如其他天才,阿峻十分高傲,他寧可相信電腦程式,你能幫他嗎?對了,他希望程式出來的答案是最少步數(這樣比較省力);如果步數相同,那就以「轉向次數」較少的為優先(比較省力,也比較快);如果又一樣,那就以下、左、右、上的順序優先(這是阿峻的習慣嘛!)

 

PS:要秘密地寫喔!因為阿峻不希望讓別人知道他連這個都不會。如果你成功解決,他會「非常感激」地送你一個AC~

输入说明 :

測資第一行為一整數T,表示接下來有幾組輸入。

每組輸入第一行為二整數m,n(m,n<=20),分別表示幾行、幾列。

接下來為一個mn列的地圖。S 代表木塊起始點, E 表示終點, # 表示該處為不可碰觸的障礙, o 表示不能「直立」在該點, . 代表該處為沒有任何阻礙的安全點。

 

 

請參考範例輸入

输出说明 :

如果該測資無解,則輸出”NA”

如果有解,則輸出包含三行。第一行輸出最少步數;第二行輸出「轉換方向」的次數;第三行輸出走法,以^ v < > 分別代表上、下、左、右,如果出現連續相同方向的話,請以 走法 x 次數表示。

 

 

請參考範例輸出

范例输入 :help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
3

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

5 5
#####
.o..E
..###
..###
S.###

6 10
...#######
.S....####
.........#
#.........
#####..E..
######...#

范例输出 :

min: 4
turns: 1
^x2 >x2

NA

min: 7
turns: 3
>x2 v >x3 v

提示 :

測資有誤的話請通知~

感謝david942j幫忙測試數據!

 

 

 

 

出处 :

bloxorz (管理員:genius0615)

解题 本题状况 本题讨论 Rank