题目链接:
http://poj.org/problem?id=2251
题意:
题目大意:这题是一个三维的迷宫题目,其中用’.‘表示空地,’#'表示障碍物,'S’表示起点,'E’表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时除了东南西北移动外还多了上下。
题解:
恶心的bfs搜最短路,从二位平面拓展到三维立体,其实也只需要把原本的二位方向数组改为三维即可。。。
代码:
迷之wa
现在不wa啦,经评论提醒发现是记录地图的矩阵状态忘记更新了,修复了五年前的bug,开心,哈哈
原WA代码:
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<queue>
using namespace std;
char c[35];
int flag,opx,opy,oph,edx,edy,edh,n,m,h,f[35][35][35],dis[35][35][35];
struct node{
int x;int y;int z;
};
int de[3][6]={
{1,-1,0