DFS實現迷宮,列印路徑輸出步數

2021-08-28 16:49:44 字數 638 閱讀 6612

問題描述:

直接給**吧,**中的注釋寫的很詳細了。

#include#includeusing namespace std;

int m,n;//行 列

int map[81][81];//迷宮

int vis[81][81];//標記是否訪問過

int next_step[4][2]=,,,};//訪問的四個方向,右下左上

int count;//記錄路徑的數量

int step;//記錄步數

struct pointp;

stackpath,temp;//給出兩個棧 ,乙個是路徑,另乙個為臨時棧(正序輸出路徑)

void dfs(int sx,int sy,int step)

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

} dfs(0,0,0);

return 0;

}

輸入m,n及迷宮矩陣,執行效果如下:

dfs路徑輸出

1.輸出存在任意路徑 達到遞迴出口時,如果符合條件就輸出並return true bool dfs int x,int y,int cnt for int i 0 i 8 i return true mp tx ty 0 return false 2.要求找到最有解,那必須跑完所有的情況,不能ret...

DFS 迷宮問題(輸出搜尋過程及路徑長度)

dfs main.cpp dfs 迷宮問題自己寫 可輸出搜尋過程 created by showlo on 2018 4 14.include include using namespace std define max n 102 define max m 102 int n,m int sx,s...

逃離迷宮的路徑 列印路徑

題目描述 現在有乙個5 5的迷宮,起點在左上角,終點在右下角,現在請你來寫乙個程式計算一下,lzy從起點開始走迷宮,最終能否成功的逃離迷宮?如果lzy可以逃出迷宮,請輸出逃離迷宮的最短路徑,否則輸出 no path 輸入 測試樣例由多組測試資料組成,每組測試資料輸入乙個5 5的矩陣,矩陣中只包含 0...