程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 地圖- 吃豆人

地圖- 吃豆人

編輯:編程解疑
吃豆人

Problem Description
吃豆人是一款非常經典的游戲,游戲中玩家控制吃豆人在地圖上吃光所有豆子,並且避免被怪物抓住。

這道題沒有怪物,將游戲的畫面分成n*m的格子,每格地形可能為空地或者障礙物,吃豆人可以在空地上移動,吃豆人每移動一格需要1s時間,並且只能朝上下左右四個方向移動,特別的是吃豆人還能吐出舌頭,舌頭每移動一格需要0.1s時間,舌頭只可以走直線。不必考慮吃豆人轉身所需要的時間。

舉例,吃豆人在(1,1)坐標,而豆子在(1,5)坐標,並且中間沒有障礙物,此時朝豆子方向吐舌頭~,經過0.8s就可以吃到豆子(來回各0.4s,吐出去的舌頭要縮回來的嘛)。

游戲中還有加速道具,一旦得到加速道具,吃豆人就獲得2倍移動速度,吐舌頭的速度沒有增加,即走1格用0.5s。現在地圖上有且只有一顆豆子。游戲中有.代表空地;X表示障礙,吃豆人不能越過障礙;B代表豆子;S代表加速道具,並且地圖上道具總數不超過1個,道具所在的位置為空地,得到道具後立即使用,道具立即消失,地形變為空地,不能用舌頭去取道具;P表示吃豆人,吐舌頭的時候吃豆人不能移動。

Input
輸入包含多組數據。輸入第一行有兩個個整數n,m(2<=n,m<=20),接著一個n*m的地圖矩陣。

對於50%的數據,地圖上沒有道具。

Output
輸出一行,最快用多少s吃到豆子,結果保留1位小數,如果吃不到,輸出-1。
Sample Input

2 2XPB.3 2XP.SB.
Sample Output

1.21.7

最佳回答:


http://blog.csdn.net/kk303/article/details/16846847

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved