POJ -- 2251 Dungeon Master
题目网址: POJ -- 2251 很典型的宽度优先搜索,尽管是一个三维的图,方法还是一模一样。 队列放入入口坐标,从入口坐标不断向外一层一层拓展,拓展到的元素进入队列并且标记该元素到入口的距离。 #include <cstdio> #include <queue> #include <cstring> #include <iostream> using namespace std; const int maxn = 50; int L, R, C; int Sz, Sx, Sy; int Ez, Ex, Ey; char maze[maxn][maxn][maxn]; int dist[maxn][maxn][maxn]; int vis[maxn][maxn][maxn]; queue<int> q; int bfs() { while(!q.empty()) q.pop(); q.push(Sz); q.push(Sx); q.push(Sy); dist[Sz][Sx][Sy] = 0; vis[Sz][Sx][Sy] = 1; /// 表示已在队列中 while(!q.empty()) { int z = q.front(); q.pop(); int x = q.front(); q.pop(); int y = q.front(); q.pop(); if(z ==