描述
乙個迷宮由r行c列格仔組成,有的格仔裡有障礙物,不能走;有的格仔是空地,可以走。
給定乙個迷宮,求從左上角走到右下角最少需要走多少步(資料保證一定能走到)。只能在水平方向或垂直方向走,不能斜著走。
輸入
第一行是兩個整數,r和c,代表迷宮的長和寬。( 1<= r,c <= 40)
接下來是r行,每行c個字元,代表整個迷宮。
空地格仔用』.『表示,有障礙物的格仔用』#『表示。
迷宮左上角和右下角都是』.』。
輸出
輸出從左上角走到右下角至少要經過多少步(即至少要經過多少個空地格仔)。計算步數要包括起點和終點。
樣例輸入
5 5…###
#…#.#.#
#.#.#
#.#…
樣例輸出
9code:
#include
using
namespace std;
int r,c;
char mp[45]
[45];
int vis[45]
[45];
//訪問陣列
typedef
struct node
node;
//定義乙個node結構體
int dir[4]
[2]=
;//方向陣列,上下左右四個方向
intbfs
(int u,
int v)}}
intmain()
3752 走迷宮 DFS和BFS
我是先用dfs寫的 因為我沒用bfs寫過這種題 後來想了想bfs也得練練 就看了別人的寫了一遍 第一次接觸這個形式的bfs 有時候感覺用dfs要簡單 以前做的bfs都是關於圖的 b include include include using namespace std int n,m string ...
OJ 3752 走迷宮 雙向BFS
描述 乙個迷宮由r行c列格仔組成,有的格仔裡有障礙物,不能走 有的格仔是空地,可以走。給定乙個迷宮,求從左上角走到右下角最少需要走多少步 資料保證一定能走到 只能在水平方向或垂直方向走,不能斜著走。輸入第一行是兩個整數,和 代表迷宮的長和寬。1 r,c 40 接下來是 行,每行 個字元,代表整個迷宮...
bfs入門 走迷宮
題意 給乙個n m的二維陣列,s表示入口,t表示出口,點表示牆不可達,表示路可達。求s走到到t的最短距離。輸入樣例 5 6.s t.輸出樣例 include include include include include include include using namespace std con...