Poj(2225),三维BFS
题目链接: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相关推荐
- Dungeon Master(三维bfs)java
题意: You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed o ...
- 胜利大逃亡 三维BFS
Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个ABC的立方体,可以被表示成A个B*C的矩阵,刚开始Ignatius被关在(0,0 ...
- Dungeon Master 三维BFS
三维BFS DungeonMasterDungeon\ MasterDungeon Master 跟二维没啥区别,就是方向多了几个,但在写的过程中出的bugbugbug还是蛮多的,所以记录一下吧! # ...
- 【POJ2251】Dungeon Master(三维BFS)
题面:[POJ2251]Dungeon Master 这是一道很有意思的题目,平时我们所接触的BFS大多是二维的,可这题不一样,这题是一道三维BFS!!! 这题不需要多讲,直接上代码就可以了: #in ...
- POJ 2251 Dungeon Master(三维BFS求最短路径)
3D dungeon 时间限制: 1 Sec 内存限制: 128 MB 提交: 2 解决: 2 [提交][状态][讨论版][命题人:201506020829][Edit] [TestData] 题 ...
- poj 2251 Dungeon Master (三维bfs)
http://poj.org/problem?id=2251 简单bfs,只不过是三维的... 唯一的坑点在输出上... Escaped in %d minute(s) 这意思是答案为1输出minut ...
- Dungeon Master(三维bfs)
题目链接:http://poj.org/problem?id=2251 题目: Description You are trapped in a 3D dungeon and need to find ...
- 【CCCC】L3-004 肿瘤诊断 (30分),三维BFS
problem L3-004 肿瘤诊断 (30分) 在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环.给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积. 输入格式: 输入第一行给出4个正整数:M ...
- Dungeon Master(地牢大师、底下城主)三维bfs
1253:Dungeon Master(地牢大师.底下城主) 要敢于变通 和普通bfs的区别,仅仅在于数组开三维+搜索方向多了上下(现在的搜索方向是 上下东南西北) bfs多组输入要记得清空队列 // ...
最新文章
- Docker(十):Docker实战 Docker 安装 Nginx
- [数据结构] - 串
- Involved Parties Object ID generation logic
- android数据截取字符串数组,android - 从Android Studio中的字符串数组获取特定字符串 - SO中文参考 - www.soinside.com...
- zabbix官方文档磁盘统计
- 静态路由实现路由过滤
- 酒店管理系统(功能结构图、用例图、状态图)
- #Geek Talk# 董飞老师同大家一起聊聊斯坦福创业课程CS183C
- 去百度还是去创新工厂? 信开复还是信彦宏?
- Freemarker使用xml生成word模板
- Mysql复制原理以及流程
- 聊一下测试工程师的招聘
- 视觉技术再赋能,深眸科技一体化解决方案引领工业视觉机器人落地应用
- LaTex\TexStduio设置参考文献Bibtex
- 【Response】
- 创新型中小企业评价标准
- 怎么添加、修改或删除快递单号
- 收集了一些Weblogic监控工具
- 转换word等文件为swf文件
- Graph Representation Learning 笔记 Ch1Ch2
热门文章
- 解决Vue-Router报错:vue-router.esm.js:17 [vue-router] <router-link>‘s tag prop is deprecated and has been
- 移动端前端月历日历_前端基础:必须要知道的移动端适配(2)——分辨率
- spring配置文件约束
- Netty短时间内大量写消息导致的内存问题
- sunplus8202v 无线游戏手柄——续
- VB 设置ListView中指定一行的背景颜色
- 获取对象的接口信息(方法/属性/事件)(VB6代码)
- 【引用】她拒绝了他100次,但第101次他拒绝了她
- C# 解析Excel中的那些事儿
- 多线程(一):初识多线程