簡單的迷宮問題

2021-08-18 06:23:43 字數 882 閱讀 2360

給你乙個n*m的迷宮,這個迷宮中有以下幾個標識:

s代表起點

t代表終點

x代表障礙物

.代表空地

現在你們涵哥想知道能不能從起點走到終點不碰到障礙物(只能上下左右進行移動,並且不能移動到已經移動過的點)。

輸入第一行乙個整數t(1<=t<=10)

接下來有t組測試資料,對於每一組測試資料,第一行輸入2個數n和m(1<=n,m<=500)

接下來n行,每行m個字元代表這個迷宮,每個字元都是上面4個中的一種

資料保證只有乙個起點和終點

1

3 5s...x

x...x

...tx

yes
#include#include#include#include#includeusing namespace std;

char st1[505][505];//定義字元陣列

int st2[505][505];//定義訪問陣列,未訪問時全都為0

int s1[4]=;//定義常量陣列

int s2[4]=;//方向為 上 下 左 右四個方向

int n,m,ans;

void bianli(int x,int y)

else

for(int i=0;i<4;i++)//遍歷上,下,左,右,四個方向, }

int main()

}bianli(a,b);

if(ans==1)

else

}}

對於每一組測試資料,如果可以的話輸出yes,不可以的話輸出no

簡單的迷宮問題

學習了資料結構第二章棧後,實驗作業是解決簡單的迷宮問題。假設迷宮只有乙個入口和出口,預設其大小是10x10。const int n 10 迷宮大小是10x10 const int maxsize 100 陣列長度上限,因為預設迷宮大小是10x10,所以路徑最多有100個 class position...

簡單迷宮問題

首先是深搜 又叫回溯法。include int n,m,p,q,min 999999 p,q為 終點座標,m,n為迷宮行數和列數 int a 51 51 book 51 51 void dfs int x,int y,int step return 返回上一步 int i,tx,ty,next 4 ...

迷宮問題求解(1) 簡單迷宮

標頭檔案 include include include include include maze.h define max 100 typedef struct position datatype typedef struct stack stack void stackinit stack s ...