描述
定義乙個二維陣列:
int maze[5][5] = ;
它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。
輸入乙個5 × 5的二維陣列,表示乙個迷宮。資料保證有唯一解。
輸出左上角到右下角的最短路徑,格式如樣例所示。
樣例輸入
0 1 0 0 00 1 0 1 0
0 0 0 0 0
0 1 1 1 0
0 0 0 1 0
樣例輸出
(0, 0)(1, 0)
(2, 0)
(2, 1)
(2, 2)
(2, 3)
(2, 4)
(3, 4)
(4, 4)
如果仙島求藥可以理解,( 這題就沒有問題了。求最短路徑的思路一樣。然後就是需要把座標紀錄下來
用結構體存每次走座標的x,y。跟著路徑一起遞迴。自己多畫畫很容易理解的
#includeusing namespace std;
typedef struct ss;
s s[100];
int num = 0;
int step[201][201];
char a[201][201];
int q1, q2, z1, z2;
int pd(int i, int j)
void f(int i, int j, int n)
if (pd(i + 1, j))
} if (pd(i, j + 1))
} if (pd(i - 1, j))
} if (pd(i, j - 1)) }}
int main()
for (int i = 0; i < 5; i++)
} step[0][0] = 0;
f(0, 0, 0);
for (int i = 0;; i++)
return 0;
}
(C )BFS求最短路長度及最短路徑
在一張由0,1構成的圖中,1表示障礙,0表示通路 給定起點s和終點t 求從s到t的最短路長度並輸出路徑 首先bfs是由佇列實現和佇列先進先出的特性,對於求最短路長度,我們可以從終點t開始倒著搜尋,用乙個陣列dist表示每個點到終點t的最短路徑,如果乙個點能由上乙個點一步走到,則將該點入隊,直到隊列為...
迷宮最短路徑問題
問題描述 給定乙個迷宮和乙個起點乙個終點,求起點到終點的最短路徑長度。sample input 說明 5行5列的迷宮,為牆,為路,起點為 0,3 終點為 4,4 sample output 若不可達輸出 1 解答 用bfs的方法,借助乙個佇列實現。1 include2 include3 includ...
最短路 求最長最短路,求最短路的路徑
hdu 1595 find the longest of the shortest include include include include include include include include include include include include include defi...