POJ3984迷宮問題

2021-07-25 16:39:46 字數 1153 閱讀 9589

嘗試了一下dfs在我的編譯器上果然爆棧,稍微複雜點的圖不行,但沒想到在poj上過了,哈哈,這裡就是寫一下思想。

(dfs省去了寫佇列的麻煩,應當也好理解吧,,當然是會遞迴的前提下)

如下為dfs。

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

int dx[4] = ;

int dy[4] = ;

int vis[5][5];

int maps[5][5];

int judge[5][5];

int flag;

void dfs(int a, int b)

for (int i = 0; i < 4; i++)

}}int main()

}flag = 0;

memset(vis, 0, sizeof(vis));

memset(judge, 0, sizeof(judge));

dfs(0, 0);

printf("(0, 0)\n");

for (int i = 0; i < 5;i++)

for (int j = 0; j < 5;j++)

if (judge[i][j] == 2)

}

用bfs完成,這個對付複雜的圖綽綽有餘了

/*

模擬佇列,並用pre模擬指標,指向運動前的位置

*/#include

#include

using namespace std;

int a[105][105];

int dx = ;

int dy = ;

struct pointq[105];

void print(int i)

}void bfs()

if (m == 4 && n == 4)

}first++;//乙個點向四個方向走完後first加1

}}int main()

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表示可以走的路,只能橫著走或豎著走,...