#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 每次可以向上下左右四個方向任...