SDJZU 迷宮問題

2021-06-17 17:06:30 字數 1007 閱讀 6349

小明置身於乙個迷宮,請你幫小明找出從起點到終點的最短路程。

小明只能向上下左右四個方向移動。

輸入包含多組測試資料。輸入的第一行是乙個整數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 ...