請寫乙個程式,先輸入迷宮的維度m和n,然後輸入這個m * n的迷宮,迷宮位置上的數值為0代表該位置可以通過,為1代表該位置有障礙不能通過,用深度優先搜尋演算法搜出一條從迷宮左上角到右下角的路徑。規定搜尋順序為上、下、左、右。
如:迷宮為2 * 2的:
搜尋從左上角開始,到達右下角的路徑應該是(0,0) (1,0) (1,1)
input
第一行是乙個整數t,代表測試用例個數
接下來有t個迷宮,每個迷宮的格式如下:
第一行有兩個整數m和n,中間用空格隔開,表示迷宮的維度,0 < m, n < 10
接下來有m行,每一行有n個元素,每個元素都是0或者1,注意元素之間是沒有空格的
output
對於每乙個用例,如果用深度優先搜尋演算法能搜尋出路徑,則輸出搜尋到的路徑,路徑的格式如下:
用座標代表每個位置:(x,y),注意是沒有空格的,每兩個座標之間有乙個空格。
如:(0,0) (1,0) (1,1)表示從位置(0,0)走到位置(1,0)再走到位置(1,1)
如果不能搜尋出路徑,則輸出no
sample input
1sample output2 200
00
深度優先搜尋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函式用...