最近開始刷演算法題,發現迷宮這道網上很多**對於我這種新人都很難看懂,就把自己想了許久的解法傳到部落格了,有心情會
補上想法。
後註:這個方法用的不是特別好,後續bfs有更簡單的寫法,不過也可以對初學者理解提供一些幫助
#include#includeusing
namespace
std;
int maze[10][10
];int visited[10][10
];const
int maxn = 100
;struct
node
node():c(
0),r(0),f(0
){}};
node myqueue[maxn];
int head = 0
;int tail = 0;//
入棧void
myenque(node x)
//判斷是否為空
intisempty()
void print(int n, int
m)void
bfs(node m)
//向右走
if(m.r < 4 && !maze[m.c][m.r+1] && !visited[m.c][m.r+1
])
//向下走
if(m.c < 4 && !maze[m.c+1][m.r] && !visited[m.c+1
][m.r])
//往回向左走
if(m.r > 1 && m.r-1 >= 0 && !maze[m.c][m.r-1] && !visited[m.c][m.r-1
])
//向上走
if(m.c-1 >= 0 && m.c-1 >= 0 && !maze[m.c-1][m.r] && !visited[m.c-1
][m.r])
return;}
intmain()
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表示可以走的路,只能橫著走或豎著走,...