迷宮,深度搜尋

2021-09-13 15:53:55 字數 801 閱讀 3620

#include

#include

#include

using namespace std;

int q , p ;

int a [20][20] , book[20][20];

int minx = 999;

int next1[4][2] = , //向右走

, // 向下走

, //向左走

} ;//向上走

void dfs(int a1, int a2, int a3, int a4, int step)

int k, tx, ty;

for ( k = 0 ; k<=3 ; k++)

}return ;int main()

getchar();

}int a1,a2,a3,a4;

scanf("%d %d %d %d",&a1,&a2,&a3,&a4);

//cout << a1 << ' ' << a2 << ' ' << a3 << ' ' << a4 << endl;

dfs(a1,a2,a3,a4,0);

cout << minx << endl ;本關任務:給定乙個大小為n×m的迷宮地圖,迷宮有通道*和牆壁#,每一步可以向鄰接的上下左右四個方向的通道移動,牆壁不可通過。給定起點和終點座標,求解從起點(x1,y1)到終點(x2,y2)所需的最小步數,若無解則輸出0。

測試輸入:

4 5#

#

#

#

0 43 0

深度優先搜尋DFS(迷宮問題)

問題及 給出迷宮的圖紙和初始終點位置,用dfs求最小步數。include using namespace std int n,m,p,q,min 99999999 int a 51 51 book 51 51 void dfs int x,int y,int step 順時針 右下左上 int tx...

深度優先搜尋應用 走迷宮

走迷宮問題是深度優先搜尋的乙個典型應用,通常迷宮的形狀如下 0為可走的道路,1為牆壁。通常情況下一些變種的模型,會加入一些特殊項,有別的意思,比如數字5代表鑰匙,當然複雜模型先不討論,從最簡單的開始。include include include include using namespace st...

走迷宮(深度優先搜尋版)

includeusing namespace std int a 50 50 book 50 50 n,m,p,q 定義全域性變數,二維陣列a用來儲存n行m列的迷宮,book陣列用來標記。p,q為目的地座標,min記錄最小步數 void dfs int x,int y,int step dfs函式用...