poj2251dungeon master
最簡單的bfs求最短距離,只是改一下方向陣列就可以,二維陣列改為三維陣列
下面是ac**
對了,下面用的c++佇列,其實很簡單,就只有幾種操作:
先介紹佇列的定義 queue《型別名》變數名,如
queueq,queue或queueque;(struct node(結構體型別));
1、 q.front() 取出隊首元素
2、 q.empty() 判斷是否為空,時空返回1
3、 q.pop() 刪除隊首元素
4、 q.push(變數)加入變數
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #include
11 #include12 #include13 #include14
using
namespace
std;
15#define mem(a) memset(a,0,sizeof(a))
16#define maxn 1000000007
17#define judge(x,y,z) !vis[x][y][z]&&map[x][y][z]!='#'&&x>=0&&x=0&&y=0&&z18
int d[6][3]=,,,,,};
19bool vis[35][35][35
];20
char map[35][35][35
];21
intl,m,n;
22struct
node23;
27int bfs(int x,int y,int
z)2852}
53}54return0;
55}56int
main()
5770}71
int step=bfs(sx,sy,sz);
72if(step)printf("
escaped in %d minute(s).\n
",step);
73else printf("");
74}75return0;
76 }
DFS和BFS典型例題
dfs模板 void dfs 引數用來表示狀態 if 越界或者不合法狀態 return else 全排列 include include int v 1005 a 1005 n void dfs int c else int main return0 素數環 include include int ...
BFS例題 A計畫
c ontr ibcontrib a11y accessibility menu.js 關於 bfs要點 1 若為可化為的座標系圖形,可用結構體儲存其x值,y值和步數。一般開now 和 next now用於取出佇列裡面的結構體 next用於上下左右的運動計算,並且push到佇列中。2 在運用佇列時,...
BFS基礎例題
都是kuangbin的題 例1 poj2251 dungeon master 三維迷宮問題 題目大意 在三維空間中給出起點和終點,找最短的逃出去的路徑長 做法 bfs基礎上增加一維,本質是一樣的 const int maxn 2e6 7 const int inf 1e9 const ll inff...