# UVa 11561 ### 題目連結:[UVa11561](http://domen111.github.io/UVa-Easy-Viewer/?11561) ### 題述: 我們正在建立一個電腦遊戲,一個冒險遊戲。玩家在一個平面上到處行走,試著找到黃金,並且不要掉到陷阱中,而玩家對周遭的訊息知道得很有限。 玩家可以上、下、左、右(不能對角)移動。假如他走到黃金所在的格子,他就可以撿起黃金。假如玩家走到某格子,而這格子緊鄰著一或多個陷阱,他會感應到附 近有陷阱,但是不知道陷阱在什麼方位,或緊鄰幾個陷阱。假如玩家試著要走到牆的格子,他會知道這是一面牆,並且停留在原來的位置。 為了分數的目的,我們想要告訴玩家他可以"安全的"得到多少個黃金。也就是在某一最佳策略下,玩家總是確認他走到的格子是安全的,且可以得到最多的黃金。 玩家一開始沒有地圖的資訊,除了確定玩家一開始的位置不是陷阱之外,他擁有的就只有感應到旁邊有陷阱的能力了。(請參考範例輸入,你會更清楚題目的意思) --- 輸入含有多組測試資料。 每組測試資料的第一列,含有 2 個正整數 W, H ( 3<= H, W <= 50 ),代表平面方陣的長和寬。接下來有H列,每列有W個字元,表示地圖的內容。字元可能為下列幾種之一: P - 玩家一開始的位置 G - 一個黃金 T - 一個陷阱 \# - 一面牆 . - 正常的地面 輸入只會有一個 P,並且地圖的邊界一定都是牆。 --- 對每組測試資料輸出一列 ,輸出玩家在不讓自己處於掉入陷阱風險的情況下,最多可以得到幾個黃金。 ### c++ code: ```cpp= ``` :::success **``sample input``** 7 4 ####### #P.GTG# #..TGG# ####### 8 6 ######## #...GTG# #..PG.G# #...G#G# #..TG.G# ######## ::: :::success **``sample output``** 1 4 ::: ###### tags: `APCS選修` `C++` `UVa`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up