Dungeon Master(bfs)逃离迷宫 POJ - 2251

题目大意:有一个三维迷宫,起始点为S,终点为E,需要判断从S点能不能走到E点,如果可以输出最短时间,如果不行,输出Trapped!

 思路:从S点开始bfs 与一般bfs不同的是有六个方向可以走,bfs道E点输出时间,不行输出Trapped!即可刚开始学搜索,第一次用dfs直接tle dfs就AC了


#include
#include
int x,y,z;
int x_s,y_s,z_s,x_e,y_e,z_e;
char map[40][40][40];//存迷宫
int book[40][40][40];//标记是否走过
int s[6][3]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,-1},{0,0,1}};//六个方向
struct node{
	int x;
	int y;
	int z;
	int step;
}queue[30000];//开队列  用来bfs存步数
int check(int x_c,int y_c,int z_c){//判断这个点是否可以走
	if(x_c>=0&&x_c=0&&y_c=0&&z_c


你可能感兴趣的:(bfs)