簡單迷宮(DFS BFS)

2021-09-23 06:02:18 字數 2367 閱讀 2350

ps:不得不說自己太菜了,dfs和bfs的模板題都搞了好幾個小時

有乙個 10 x 10 的迷宮,起點是『s』,終點是『e』,牆是『#』,道路是空格。乙個機械人從起點走到終點。當機械人走到乙個通道塊,前面已經沒有路可走時,它會轉向到當前面向的右手方向繼續走。如果機械人能夠過,則留下足跡『*』,如果走不通,則留下標記『!』。

下面給出書中的演算法,請你模擬機械人的走法輸出最終的狀態。

乙個 10 x 10 的二維字元陣列。

機械人走過的路徑狀態。

題解:直接利用dfs演算法即可,開始想著在主函式中輸出,但是沒考慮到在回溯的過程中將原來走過的全都變為了『!』,(哇,心態**),太菜了,下面就是**:

#include

using

namespace std;

//int dir[4][2]= ,,,};

int dir[4]

[2]=

,,,}

;//方向

int vis[15]

[15];

//判斷是否走過

char s[15]

[15];

int x1,x2,y,y2;

void

dfs(

int x,

int y)

}for

(int k=

0; k<

4; k++)}

}int

main()

if(s[i]

[j]==

'e')

}getchar()

;}//for(int i=0;i<10;i++)

// printf("%s\n",s[i]);

//for(int i=1;i<=10;i++)

//printf("%s",s[i]);

s[x1]

[y]=

'*';

dfs(x1,y)

;return0;

}

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

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

輸入包含多組測試資料。輸入的第一行是乙個整數t,表示有t組測試資料。

每組輸入的第一行是兩個整數n和m(1<=n,m<=100)。

接下來n行,每行輸入m個字元,每個字元表示迷宮中的乙個小方格。

字元的含義如下:

『s』:起點

『e』:終點

『-』:空地,可以通過

『#』:障礙,無法通過

輸入資料保證有且僅有乙個起點和終點。

對於每組輸入,輸出從起點到終點的最短路程,如果不存在從起點到終點的路,則輸出-1。

題解:不知道為什麼後面**一直wa,但是感覺並沒有什麼錯誤啊,後面和大佬的**對比,也覺得一模一樣,但是就是wa,心態崩了

#include

//#define n 110

int vis[

110]

[110];

char str[

110]

[110];

int n,m;

int dir[4]

[2]=

,,,}

;int sx,sy,ex,ey;

int t;

int tx,ty;

int front,rear,flag;

int i,j;

struct note

;struct note que[

110*

110]

;void

bfs()if

(tx == ex&&ty == ey)}if

(flag ==1)

front++;}

if(flag ==0)

printf

("-1\n");

else

printf

("%d\n"

,que[rear-1]

.s);

}int

main()

if(str[i]

[j]==

'e')

}getchar()

;}bfs();

}return0;

}

還是做題做少了,最近得好好做做資料結構相關題了!!!!

迷宮問題 dfs bfs

從迷宮入口點 1,1 出發,出口點 m,n 1.求所有路徑條數 2.求最短路徑條數 3.輸出一條最短路徑 題解 向四周搜尋,記下所有一步能到達的座標點 然後依次再從這些點出發,再記下所有一步能到達的座標點,依此類推,直到到達迷宮的出口點 m,n 為止,然後從出口點沿搜尋路徑回溯直至入口。這樣就找到了...

dfs bfs 逃離迷宮

給定乙個m n m行,n列 的迷宮,迷宮中有兩個位置,gloria想從迷宮的乙個位置走到另外乙個位置,當然迷宮中有些地方是空地,gloria可以穿越,有些地方是障礙,她必須繞行,從迷宮的乙個位置,只能走到與它相鄰的4個位置中,當然在行走過程中,gloria不能走到迷宮外面去。令人頭痛的是,glori...

dfs bfs迷宮集合

師兄在藍橋杯培訓的時候講過dfs,但是但是後來又忘了,然後又做,現在又忘 希望師兄不要打我 問題描述 學霸搶走了大家的作業,班長為了幫同學們找回作業,決定去找學霸決鬥。但學霸為了不要別人打擾,住在乙個城堡裡,城堡外面是乙個二維的格仔迷宮,要進城堡必須得先通過迷宮。因為班長還有妹子要陪,磨刀不誤砍柴功...