#38396: 思路


qerpzzea@gmail.com (賽希爾 cecill(陳宥穎))

學校 : 高雄市立中正高級中學
編號 : 169400
來源 : [163.32.60.236]
最後登入時間 :
2024-05-01 11:18:53
c129. 00572 - Oil Deposits -- UVa572 | From: [114.40.57.144] | 發表日期 : 2023-11-18 17:45

設一個idx=0

int dx[8]={-1,0,1,-1,1,-1,0,1};
int dy[8]={-1,-1,-1,0,0,1,1,1};

然後開始搜尋油田

搜尋不到的話idx就會是0不用bfs

搜尋到後先把當前點設為-1,然後

while(隊列不空){

隊列 pop

for i八個方向迴圈 x=對頭.first+dx[i],對頭.second+dy[i]來搜尋每個方向,如果發現油田就設為-1

然後把該點加入隊列

}

for迴圈檢查 如果有新的油田就idx++然後在bfs一遍

最後idx就會等於油田數量

 
ZeroJudge Forum