定義乙個二維陣列:
int maze[5][5] = ;
它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。
input
乙個5 × 5的二維陣列,表示乙個迷宮。資料保證有唯一解。
output
左上角到右下角的最短路徑,格式如樣例所示。
sample input
0 1 0 0 0sample output0 1 0 1 0
0 0 0 0 0
0 1 1 1 0
0 0 0 1 0
(0, 0)(1, 0)
(2, 0)
(2, 1)
(2, 2)
(2, 3)
(2, 4)
(3, 4)
(4, 4)
題目分析:bfs路徑還原的方法是記錄每乙個節點的前乙個節點,並不斷更新。遞迴輸出。
**如下:
1 # include2 # include3 # include4 # include5 # include6using
namespace
std;
7struct
node
811 node(int a,int b,int c=0
):x(a),y(b),t(c){}
12bool
operator
< (const node &a) const
15};
16int d[4][2]=,,,};
17int mp[5][5],px[5][5],py[5][5],vis[5][5
];18
void print(int x,int
y)19
24void
bfs()
2538
for(int i=0;i<4;++i)45}
46}47}
48int
main()
49
poj3894 bfs 記錄路徑
poj3894 bfs 記錄路徑 迷宮問題 time limit 1000ms memory limit 65536k total submissions 5385 accepted 3064 description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表...
迷宮尋路(bfs)
第一次寫部落格,希望能把基礎的演算法記錄下來,以後快要忘記了可以拿來複習。題目 輸入輸出要求 樣例 輸入樣例 8 8 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1...
poj3984 迷宮問題 BFS
迷宮問題 time limit 1000ms memory limit 65536k total submissions 7902 accepted 4649 description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,...