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

2021-09-26 03:45:03 字數 700 閱讀 9705

#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函式用來解決當前步該怎麼辦

int min = 999999;

int main()

} scanf("%d %d %d %d", &startx, &starty, &p, &q);

book[startx][starty] = 1;

dfs(startx, starty, 0);

printf("%d", ::min);

return 0;

}void dfs(int x, int y, int step)

, //向右

, //向下

, //向左

};//向上

int tx, ty, k, r;

if(x == p && y == q) //判斷此點是否已經到達目的地

return ;

} else

if (r) //如果沒有越界

}} }

}

深度優先搜尋應用 走迷宮

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

DFS深度優先搜尋之走迷宮

走迷宮 problem description 乙個由n m個格仔組成的迷宮,起點是 1,1 終點是 n,m 每次可以向上下左右四個方向任意走一步,並且有些格仔是不能走動,求從起點到終點經過每個格仔至多一次的走法數。input 第 一行乙個整數t 表示有t 組測試資料。t 110 對於每組測試資料 ...

SDUT 2449 走迷宮(深度優先搜尋)

資料結構實驗之棧與佇列十 走迷宮 time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 乙個由n m 個格仔組成的迷宮,起點是 1,1 終點是 n,m 每次可以向上下左右四個方向任...