迷宮問題
time limit:1000ms
memory limit:65536k
total submissions:20816
accepted:12193
description
定義乙個二維陣列:
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)
這道題是一道比較簡單的廣搜題目,為什麼是廣搜?因為題意是要找最短路徑,這類題基本上就是用廣搜。
但是與其他直接輸出最短路徑的步數的不同,這道題要輸出的是最短路徑,是要輸出這個路徑,所以就要考慮狀態了,
每乙個狀態都應該儲存到達這個狀態的路徑。其他就沒什麼好說的了,總體上是一道較為簡單的廣搜入門題。
#include "cstdio
"#include
"iostream
"#include
"queue
"using
namespace
std;
int a[5][5
];bool visit[5][5
];int dx[4]=,dy[4]=;
struct
node;///通過記錄方向來記錄路徑
bool judge(int x,int
y)node&bfs()
}return
cur;
}int
main()
}node ans=bfs();
printf(
"(0, 0)\n");
int x=0,y=0
;
for(int i=0;i)
return0;
}
poj3984(BFS)迷宮路徑
迷宮問題 time limit 1000ms memory limit 65536k total submissions 6112 accepted 3539 description 定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,...
POJ3984BFS記錄路徑
定義乙個二維陣列 int maze 5 5 它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。input 乙個5 5的二維陣列,表示乙個迷宮。資料保證有唯一解。output 左上角到右下角的最短路徑,格式如樣例所示。sa...
POJ 3984迷宮問題(BFS廣搜)
題目貼上 相對於求最短路徑長度的題目,這道題目可能稍微難一點點,因為它要求輸出最短的所有路徑點 思路 定義乙個結構體,有此時遍歷點的x,y座標和該點的父親點 意思就是你的上乙個狀態 比如一條路徑是 0,0 1,1 2,2 則點 2,2 的父親點是 1,1 我們將有父親點的點輸出,沒有父親點的點不輸出...