題目 :
蒜頭君在你的幫助下終於逃出了迷宮,但是蒜頭君並沒有沉浸於喜悅之中,而是很快的又陷入了思考,從這個迷宮逃出的最少步數是多少呢?
輸入格式
第一行輸入兩個整數 n 和 m,表示這是乙個 n×m 的迷宮。
接下來的輸入乙個 n 行 m 列的迷宮。其中 『s』表示蒜頭君的位置,』*『表示牆,蒜頭君無法通過,』.『表示路,蒜頭君可以通過』.'移動,'t』表示迷宮的出口(蒜頭君每次只能移動到四個與他相鄰的位置——上,下,左,右)。
輸出格式
輸出整數,表示蒜頭君逃出迷宮的最少步數,如果蒜頭君無法逃出迷宮輸出 −1。
資料範圍
1≤n,m≤10。
輸出時每行末尾的多餘空格,不影響答案正確性
樣例輸入1
3 4s**.
..*.
***t
樣例輸出1
-1樣例輸入2
3 4s**.
....
***t
樣例輸出2
5
#include
#include
#include
#include
#include
#include
typedef
long
long ll;
using
namespace std;
struct node};
queue q;
int visited[20]
[20];
int n,m,qx,qy,zx,zy;
char maze[20]
[20];
int dx[5]
=;int dy[5]
=;intmain()
if(maze[i]
[j]==
't')}}
q.push
(node
(qx,qy,0)
);while
(!q.
empty()
)else}}
q.pop();
} cout <<
"-1"
<< endl;
return0;
}
迷宮 二 計蒜客 1596
題目鏈結 題目如下 蒜頭君在你的幫助下終於逃出了迷宮,但是蒜頭君並沒有沉浸於喜悅之中,而是很快的又陷入了思考,從這個迷宮逃出的最少步數是多少呢?輸入格式 第一行輸入兩個整數 n和 m,表示這是乙個 n m 的迷宮。接下來的輸入乙個 n行 m列的迷宮。其中 s 表示蒜頭君的位置,表示牆,蒜頭君無法通過...
計蒜客 走迷宮2 bfs
一樣的迷宮,這次要求不是求有多少條出去的路,而是求最短出去的路,使用bfs就可以知道了。需要用乙個char陣列儲存迷宮 乙個int陣列表示距離長度 乙個bool陣列表示是否訪問過 這不是唯一的,還有其它的可能性,可以三合一,如這裡的表示方式 給你乙個 n 行 m 列的二維迷宮。s 表示起點,t 表示...
計蒜客 走迷宮
給乙個 n行 m 列的 2 維的迷宮,s 表示迷宮額起點,t 表示迷宮的終點,表示不能通過的點,表示可以通過的點。你需要從 s 出發走到 t 每次只能上下左右走動,並且只能進入能通過的點,每個點只能通過一次。現在要求你求出有多少種通過迷宮的的方案。輸入格式 第一行輸入 n,m 1 n,m 10 表示...