在乙個大小為n∗m
'>n∗m
n∗m的方格地圖mp[
]'>mp
mp上,初始時你在方格(1,
1)'>(1,1)
(1,1)位置。有k
'>k
k個旅遊景點你想去玩。
地圖中標記為.
'>.
.的方格可以行走,標記為#
'>#
#的方格有障礙物不能經過,標記為數字的方格表示景點的編號。
每秒鐘你可以朝上,下,左或右移動一格位置,問最少花多少時間走遍k
'>k
k個景點。
如果無法走遍k
'>k
k個景點則輸出−
1'>−1
−1。保證起點的方格沒有障礙物。
第一行三個正整數表示n,m
,k'>n,m,k
n,m,k。
接下來n
'>n
n行,每行乙個長度為m
'>m
m的字串表示地圖mp[
]'>mp
mp。1≤n
,m≤20
,1≤k
≤9'>1≤n,m≤20,1≤k≤9
1≤n,m≤20,1≤k≤9。
輸出乙個整數表示答案。
5 7 3
.......
....1..
..2#.3.
.......
.......
9
樣例:先去2,再去1,再去3。
5 8 3
....#..1
........
##...###
........
.2..#..3
25先去2,再去3,再去1。
3 6 1
..#..1
..#...
..####
-1首先畫一下圖理解一下:
(有點菜,理解萬歲!)
( 這樣來說的話是出不去的)
同樣是字元,使用現場轉換後需要容易得多!就像這樣:
1接下來的事情很簡單了。char
ch;2 cin >>ch;
3if (i == 1 && j == 1
) else
if (ch == '#'
) else
13 }
將出生點(0,0)設定為景點0,而bfs就是判斷從這裡到那裡需要的步數,就很easy了!另外還需要乙個dfs來計算steps,更為簡單!
接下來就是實現**操作了,**不多,也就93行而已。
:你瞧瞧這附近哪有彩蛋那,這都是大棚裡挑的……
C語言解題思路 二
1.百元買百雞問題 公雞每只 5 元,母雞每只 3 元,小雞 3 只一元,問一百元買一百隻雞有幾種買法 include int main return 0 3.列印倒三角的數字 include int main return 0 4.列印菱形四邊形 include int main for j nu...
C 算24 解題思路
給出4個小於10個正整數,你可以使用加減乘除4種運算以及括號把這4個數連線起來得到乙個表示式。現在的問題是,是否存在一種方式使得得到的表示式的結果等於24。這裡加減乘除以及括號的運算結果和運算的優先順序跟我們平常的定義一致 這裡的除法定義是實數除法 比如,對於5,5,5,1,我們知道5 5 1 5 ...
ISBN解題思路
每一本正式出版的圖書都有乙個isbn號碼與之對應,isbn碼包括9位數字 1位識別碼和3位分隔符,其規定格式如 x xx x 其中符號 就是分隔符 鍵盤上的減號 最後一位是識別碼,例如0 670 82162 4就是乙個標準的isbn碼。isbn碼的首位數字表示書籍的出版語言,例如0代表英語 第乙個分...