這個廣搜有點特殊,它要求輸出路徑,而不是步數,我們有兩種以上的做法,我們可以使用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表示可以走的路,只能橫著走或豎著走,...