總時間限制: 1000ms 記憶體限制: 65536kb
描述
當你站在乙個迷宮裡的時候,往往會被錯綜複雜的道路弄得失去方向感,如果你能得到迷宮地圖,事情就會變得非常簡單。
假設你已經得到了乙個n*m的迷宮的圖紙,請你找出從起點到出口的最短路。
輸入第一行是兩個整數n和m(1<=n,m<=100),表示迷宮的行數和列數。
接下來n行,每行乙個長為m的字串,表示整個迷宮的布局。字元'.'表示空地,'#'表示牆,'s'表示起點,'t'表示出口。
輸出輸出從起點到出口最少需要走的步數。
樣例輸入
3 3s#t.#.
...
樣例輸出
6
演算法分析:典型的廣搜。
1 #include2 #include3 #include4using
namespace
std;56
struct
obj7;10
11int
n,m;
12char map[102][102
];13 queueq;
14struct
obj s,t;
1516
int dx[4]=;//
上右下左
17int dy[4]=;
18void
bfs();
1920
int main(int argc, char *ar**)
2131
else
if(map[i][j]=='t'
)32 33}
34getchar();35}
3637
if(s.xx==t.xx&&s.yy==t.yy) printf("
0\n"
);38
else
bfs();
39 printf("
%d\n
",t.step);
4041
return0;
42}4344
void
bfs()
4568}69
}70q.pop();71}
72 }
6264 走出迷宮
總時間限制 1000ms 記憶體限制 65536kb 描述 當你站在乙個迷宮裡的時候,往往會被錯綜複雜的道路弄得失去方向感,如果你能得到迷宮地圖,事情就會變得非常簡單。假設你已經得到了乙個n m的迷宮的圖紙,請你找出從起點到出口的最短路。輸入 第一行是兩個整數n和m 1 n,m 100 表示迷宮的行...
寬搜 走出迷宮
描述 當你站在乙個迷宮裡的時候,往往會被錯綜複雜的道路弄得失去方向感,如果你能得到迷宮地圖,事情就會變得非常簡單。假設你已經得到了乙個n m的迷宮的圖紙,請你找出從起點到出口的最短路。輸入第一行是兩個整數n和m 1 n,m 100 表示迷宮的行數和列數。接下來n行,每行乙個長為m的字串,表示整個迷宮...
NOI題庫2 5 6264 走出迷宮
描述 當你站在乙個迷宮裡的時候,往往會被錯綜複雜的道路弄得失去方向感,如果你能得到迷宮地圖,事情就會變得非常簡單。假設你已經得到了乙個n m的迷宮的圖紙,請你找出從起點到出口的最短路。輸入 第一行是兩個整數n和m 1 n,m 100 表示迷宮的行數和列數。接下來n行,每行乙個長為m的字串,表示整個迷...