POJ 3984 迷宮問題

2022-02-16 21:44:52 字數 672 閱讀 3347

這個廣搜有點特殊,它要求輸出路徑,而不是步數,我們有兩種以上的做法,我們可以使用queue類,然後把不用的點都彈出去,我們也可以用陣列來模擬佇列, 然後只讓整數指標做加加操作就行了。

我們這樣的話,我們每次都記錄,前一步是從哪個節點跳過來的,最後找到右下角之後,進行輸出就可以了。

對於輸出我們可以使用遞迴進行輸出,這樣我們的輸出就由逆序轉為了順序。

#include

using namespace std;

int map[6]

[6];

int vis[6]

[6]=

;int rear, front;

int d[4]

[2]=

,,,}

;struct step q[

100]

;void

bfs(

) front++;}

}void

print

(step now)

else

}int

main()

}bfs()

;print

(q[rear-1]

);// getchar();

// getchar();

return0;

}

POJ3984 迷宮問題

題目 迷宮問題 time limit 1000ms memory limit 65536k total submissions 3183 accepted 1861 description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎...

POJ 3984 迷宮問題

一道比較簡單的bfs題 include include include include define max 6 using namespace std int map max max px max max py max max int movex 4 movey 4 bool vis max ma...

POJ 3984 迷宮問題

迷宮問題 time limit 1000ms memory limit 65536k total submissions 7047 accepted 4123 description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,...