problem description
有乙個二維迷宮,n行m列,『s』表示迷宮的起點,『t』表示迷宮的終點,『#』表示圍牆,『.』表示通路。
現在從s出發,你不能穿牆,問到達終點t最少需要多少步?
輸入格式
第一行輸入n,m(1<=n,m<=50)表示迷宮的行列大小。
接下來輸入n行字串表示迷宮。
輸出格式
乙個整數,表示走出迷宮所需的最小步數,若走不出迷宮則輸出 -1。
樣例輸入1
2 3樣例輸出1s.#..t
3樣例輸入2
3 3樣例輸出2s.#.#.
.#t
-1
# include # include # include # include using namespace std;
const int maxn=1000;
typedef struct node //將座標看做結構體在佇列中操作
}node;
queueq;//q裡面放的是結構體
int m,n;
char map[maxn][maxn];
int vis[maxn][maxn];
int s[2][2];
int val;
char ch;
int dp[4][2]=;
int bfs(int x,int y,int f)
}return -1;
}int main ()
if (map[i][j]=='t')
}ch=getchar();
}int t=bfs(s[0][0],s[0][1],0);
printf ("%d\n",t);
return 0;
}
簡單BFS 走迷宮
描述 l上次旅行進入了乙個迷宮,他被困在了乙個n m的矩形迷宮中。l開始在左上角的點,他知道出口在右下角,他可以向四個方向移動到相鄰的點。不過這個迷宮有些魔法,每個格仔有一種顏色,不同的顏色代表不一樣的功能 如果格仔是紅色的,表示當前格仔無法通行 如果格仔是粉紅,表示格仔可以正常通行 如果是橙色,當...
BFS 走迷宮問題
已知圖g v,e 和乙個源頂點s,寬度優先搜尋以一種系統的方式探尋g的邊,從而 發現 s所能到達的所有頂點,並計算s到所有這些頂點的距離 最少邊數 該演算法同時能生成一棵根為s且包括所有可達頂點的寬度優先樹。對從s可達的任意頂點v,寬度優先樹中從s到v的路徑對應於圖g中從s到v的最短路徑,即包含最小...
bfs入門 走迷宮
題意 給乙個n m的二維陣列,s表示入口,t表示出口,點表示牆不可達,表示路可達。求s走到到t的最短距離。輸入樣例 5 6.s t.輸出樣例 include include include include include include include using namespace std con...