3752 走迷宮 BFS入門題

2021-09-25 10:27:43 字數 868 閱讀 3805

描述

乙個迷宮由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...