#40920: C++詳解-BFS


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [24.147.249.5]
最後登入時間 :
2024-10-28 09:54:40
c129. 00572 - Oil Deposits -- UVa572 | From: [220.136.87.155] | 發表日期 : 2024-06-18 09:51

收完資料之後一個一個字元做判斷,如果目前字元有石油,就跑 BFS。跑 BFS 的時候要跑「上、下、左、右、右上、右下、左上、左下」八個方位,並且不能跑到重複的點。可以宣告一個 Map 來存哪些點已經走過了,要注意的是這個 Map 可以設成全域變數,這樣子 BFS 結束後跑到已經走過的點就不會再進 BFS。每當一個 BFS 結束時就將答案+1。

 

範例程式碼

 
ZeroJudge Forum