小明置身於乙個迷宮,請你幫小明找出從起點到終點的最短路程。
小明只能向上下左右四個方向移動。
輸入包含多組測試資料。輸入的第一行是乙個整數t,表示有t組測試資料。
每組輸入的第一行是兩個整數n和m(1<=n,m<=100)。
接下來n行,每行輸入m個字元,每個字元表示迷宮中的乙個小方格。
字元的含義如下:
『s』:起點
『e』:終點
『-』:空地,可以通過
『#』:障礙,無法通過
輸入資料保證有且僅有乙個起點和終點。
對於每組輸入,輸出從起點到終點的最短路程,如果不存在從起點到終點的路,則輸出-1。
15 5
s-###
-----
##---
e#---
---##9
分析:#include#include#includeusing namespace std;
char map[107][107];
int vis[107][107];
int dir[4][2]= ,,,};
int x1,y1,x2,y2,n,m;
struct node
;int bfs()
{ queueq;
node first,next;
first.x=x1,first.y=y1;
first.step=0;
q.push(first);//放到對列中
vis[x1][y1]=1;
while(!q.empty())
{first=q.front();
q.pop();
for(int i=0; i<4; i++)
{next.x=first.x+dir[i][0];
next.y=first.y+dir[i][1];
next.step=first.step+1;
if(next.x>=0&&next.x=0&&next.y
sdjzu坤哥的難題
八百年才能出現的好事接二連三的發生在了坤哥頭上,可是你們總是讓他的好事泡湯。坤哥不願意了,他決心考考你們,先給你乙個六位數,然後曲這個六位數中間四位,然後在讓這個四位數平方,得到的這個數在取它的後六位。如此反覆,一直做到找到迴圈節。例如給你65554這個數 num 4digits square 6d...
問題 A 迷宮求解問題
時間限制 10 sec 記憶體限制 2048 mb 提交 574 解決 306 提交 狀態 討論版 用乙個m n的矩陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設計乙個程式,對給定的迷宮,求出找到的第一條從入口到出口的通路,或得到沒有通路的結論。我們指定 1 迷宮的入口為矩陣的左上角 1,1 迷宮...
迷宮問題求解(1) 簡單迷宮
標頭檔案 include include include include include maze.h define max 100 typedef struct position datatype typedef struct stack stack void stackinit stack s ...