题目链接:http://poj.org/problem?id=2225

这里要注意的是,输入的是坐标x,y,z,那么这个点就是在y行,x列,z层上。

我竟然WA在了结束搜索上了,写成了输出s.step.我要调疯了。

#include <stdio.h>
#include <queue>
#include <string.h>using namespace std;struct Point
{int x,y,z;int step;
} points[1005];char maps[15][15][15];
bool vis[15][15][15];///上下前后左右
int to[6][3]= {{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,-1},{0,0,1}};int main()
{char str[20];while(scanf("%s",str)!=EOF){memset(vis,false,sizeof(vis));int n;scanf("%d",&n);for(int i=0; i<n; i++)for(int j=0; j<n; j++)scanf("%s",maps[i][j]);int x1,y1,z1;   ///x 行,y列,z层int x2,y2,z2;scanf("%d%d%d%d%d%d",&y1,&x1,&z1,&y2,&x2,&z2);char tmp[20];scanf("%s",tmp);queue<Point> Q;Point s,next;s.x = x1;s.y = y1;s.z = z1;s.step = 0;Q.push(s);vis[s.z][s.x][s.y] = true;int ans = 0;bool flag = false;while(!Q.empty()){Point f;f = Q.front();Q.pop();if(f.x==x2&&f.y==y2&&f.z==z2){flag = true;ans = f.step;break;}for(int i=0; i<6; i++){next.x = f.x + to[i][1];next.y = f.y + to[i][2];next.z = f.z + to[i][0];if(next.x<0||next.x>=n||next.y<0||next.y>=n||next.z<0||next.z>=n)continue;if(vis[next.z][next.x][next.y]||maps[next.z][next.x][next.y]=='X')continue;next.step = f.step + 1;//printf("%d %d %d ",next.x,next.y,next.z);//printf("%d\n",next.step);vis[next.z][next.x][next.y] = true;Q.push(next);}}if(flag)printf("%d %d\n",n,ans);else printf("NO ROUTE\n");}return 0;
}

转载于:https://www.cnblogs.com/TreeDream/p/5711998.html

Poj(2225),三维BFS相关推荐

  1. Dungeon Master(三维bfs)java

    题意: You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed o ...

  2. 胜利大逃亡 三维BFS

    Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个ABC的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0,0 ...

  3. Dungeon Master 三维BFS

    三维BFS DungeonMasterDungeon\ MasterDungeon Master 跟二维没啥区别,就是方向多了几个,但在写的过程中出的bugbugbug还是蛮多的,所以记录一下吧! # ...

  4. 【POJ2251】Dungeon Master(三维BFS)

    题面:[POJ2251]Dungeon Master 这是一道很有意思的题目,平时我们所接触的BFS大多是二维的,可这题不一样,这题是一道三维BFS!!! 这题不需要多讲,直接上代码就可以了: #in ...

  5. POJ 2251 Dungeon Master(三维BFS求最短路径)

    3D dungeon 时间限制: 1 Sec  内存限制: 128 MB 提交: 2  解决: 2 [提交][状态][讨论版][命题人:201506020829][Edit] [TestData] 题 ...

  6. poj 2251 Dungeon Master (三维bfs)

    http://poj.org/problem?id=2251 简单bfs,只不过是三维的... 唯一的坑点在输出上... Escaped in %d minute(s) 这意思是答案为1输出minut ...

  7. Dungeon Master(三维bfs)

    题目链接:http://poj.org/problem?id=2251 题目: Description You are trapped in a 3D dungeon and need to find ...

  8. 【CCCC】L3-004 肿瘤诊断 (30分),三维BFS

    problem L3-004 肿瘤诊断 (30分) 在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环.给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积. 输入格式: 输入第一行给出4个正整数:M ...

  9. Dungeon Master(地牢大师、底下城主)三维bfs

    1253:Dungeon Master(地牢大师.底下城主) 要敢于变通 和普通bfs的区别,仅仅在于数组开三维+搜索方向多了上下(现在的搜索方向是 上下东南西北) bfs多组输入要记得清空队列 // ...

最新文章

  1. Docker(十):Docker实战 Docker 安装 Nginx
  2. [数据结构] - 串
  3. Involved Parties Object ID generation logic
  4. android数据截取字符串数组,android - 从Android Studio中的字符串数组获取特定字符串 - SO中文参考 - www.soinside.com...
  5. zabbix官方文档磁盘统计
  6. 静态路由实现路由过滤
  7. 酒店管理系统(功能结构图、用例图、状态图)
  8. #Geek Talk# 董飞老师同大家一起聊聊斯坦福创业课程CS183C
  9. 去百度还是去创新工厂? 信开复还是信彦宏?
  10. Freemarker使用xml生成word模板
  11. Mysql复制原理以及流程
  12. 聊一下测试工程师的招聘
  13. 视觉技术再赋能,深眸科技一体化解决方案引领工业视觉机器人落地应用
  14. LaTex\TexStduio设置参考文献Bibtex
  15. 【Response】
  16. 创新型中小企业评价标准
  17. 怎么添加、修改或删除快递单号
  18. 收集了一些Weblogic监控工具
  19. 转换word等文件为swf文件
  20. Graph Representation Learning 笔记 Ch1Ch2

热门文章

  1. 解决Vue-Router报错:vue-router.esm.js:17 [vue-router] <router-link>‘s tag prop is deprecated and has been
  2. 移动端前端月历日历_前端基础:必须要知道的移动端适配(2)——分辨率
  3. spring配置文件约束
  4. Netty短时间内大量写消息导致的内存问题
  5. sunplus8202v 无线游戏手柄——续
  6. VB 设置ListView中指定一行的背景颜色
  7. 获取对象的接口信息(方法/属性/事件)(VB6代码)
  8. 【引用】她拒绝了他100次,但第101次他拒绝了她
  9. C# 解析Excel中的那些事儿
  10. 多线程(一):初识多线程