[kuangbin带你飞]专题一 简单搜索 - B - Dungeon Master
#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<queue>
#include<cstring>
using namespace std;
struct node
{
int x;
int y;
int z;
int step;
};
char dung[][][];
int d[][] = {{,,},{,,-},{,,},{,-,},{,,},{-,,}};
int l, r, c;
int main()
{
// freopen("in.in","r",stdin);
char tp[];
node start, tmp;
int ans = ;
queue<node>q;
while(cin>>l>>r>>c)
{
ans = ;
memset(dung,,sizeof(dung));
if(l*r*c == ) break;
for(int k = ; k <= l; k++)
for(int i = ; i <= r; i++)
{
cin>>tp;
for(int j = ; j <= c; j++)
{
dung[k][i][j] = tp[j-];
if(tp[j-]=='S')
{
start.x = i;
start.y = j;
start.z = k;
start.step = ;
}
}
}
q.push(start);
dung[start.z][start.x][start.y] = '#';
while(q.size())
{
start = q.front();
q.pop();
for(int i = ; i < ; i++)
{
tmp.x = start.x + d[i][];
tmp.y = start.y + d[i][];
tmp.z = start.z + d[i][];
tmp.step = start.step + ;
if(dung[tmp.z][tmp.x][tmp.y] == 'E')
{
ans = tmp.step;
break;
}
if(dung[tmp.z][tmp.x][tmp.y]!='.') continue;
q.push(tmp);
dung[tmp.z][tmp.x][tmp.y] = '#';
}
}
if(ans) printf("Escaped in %d minute(s).\n",ans);
else printf("Trapped!\n");
while(q.size()) q.pop();
}
return ;
}
[kuangbin带你飞]专题一 简单搜索 - B - Dungeon Master的更多相关文章
- [kuangbin带你飞]专题一 简单搜索(回顾)
A - 棋盘问题 POJ - 1321 注意条件:不能每放一个棋子,就标记一行和一列,我们直接枚举每一行就可以了. AC代码: #include<iostream> #include< ...
- [kuangbin带你飞]专题一 简单搜索 题解报告
又重头开始刷kuangbin,有些题用了和以前不一样的思路解决.全部题解如下 点击每道题的标题即可跳转至VJ题目页面. A-棋盘问题 棋子不能摆在相同行和相同列,所以我们可以依此枚举每一行,然后标记每 ...
- [kuangbin带你飞]专题一 简单搜索 - E - Find The Multiple
//Memory Time //2236K 32MS #include<iostream> using namespace std; ]; //保存每次mod n的余数 //由于198的余 ...
- [kuangbin带你飞]专题一 简单搜索 棋盘问题
题来:链接https://vjudge.net/problem/OpenJ_Bailian-132 J - 棋盘问题 1.题目: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别. ...
- [kuangbin带你飞]专题一 简单搜索
ID Origin Title 454 / 1008 Problem A POJ 1321 棋盘问题 328 / 854 Problem B POJ 2251 Dungeon Ma ...
- [kuangbin带你飞]专题一 简单搜索 回顾总结
第二题:bfs,忘了将queue清空. 第三题:bfs,记得使用vis数组,防止重复入队
- 迷宫问题 POJ - 3984 [kuangbin带你飞]专题一 简单搜索
定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...
- [kuangbin带你飞]专题一 简单搜索 Find a way HDU - 2612
Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year ...
- Catch That Cow POJ - 3278 [kuangbin带你飞]专题一 简单搜索
Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. ...
随机推荐
- NX二次开发-UFUN获得边的类型UF_MODL_ask_edge_type
1 NX11+VS2013 2 3 #include <uf.h> 4 #include <uf_ui.h> 5 #include <uf_modl.h> 6 #i ...
- 剑指offer——26反转链表
题目描述 输入一个链表,反转链表后,输出新链表的表头. 题解: 每次只反转一个节点,先记住cur->next, 然后pre->cur,即可; class Solution { pu ...
- 普通用户授予root权限
开始用linux的时候会遇到用户权限问题,比如安装软件的时候经常会提示权限不足,下面介绍给普通用户授予root权限. 找到 cd /etc/sudoers可以看到用户的权限是:只有读取的权限(以下操 ...
- Spring Boot + kkFileView-2.1.2 实现文档在线预览
1. 下载kkFileview:https://gitee.com/kekingcn/file-online-preview/releases 2. 启动服务 进入 bin 目录,双击 startup ...
- ios position:fixed 上滑下拉抖动
ios position:fixed 上滑下拉抖动 最近呢遇到一个ios的兼容问题,界面是需要一个头底部的固定的效果,用的position:fixed定位布局,写完测试发现安卓手机正常的,按时ios上 ...
- centos安装与配置R语言
Linux下安装R语言 一.编译安装 由于采用编译安装,所以需要用到gcc编译环境,在编译前check文件时还会用到libXt-devel和readline-devel两个依赖,所以在编译R语言源码时 ...
- 在线文库解决方案Jacob+SwfTools+FlexPaper
课程作业,准备做一个类似于豆丁之类的在线文库,解决方案也就是将文档(doc ppt xls)等转换成pdf,然后转成swf展示在页面中,今天下午经过研究,参考其他人的博客,实现了这个主要功能,这里也做 ...
- 《构建之法》CH5~6读书笔记 PB16110698 第九周(~5.15)
这段时间我阅读了<构建之法>的大部分章节,包括个人技能.软件测试.用户体验和需求分析等相关内容.之前的个人作业和结对作业结束后,我们的工作重心终于转向了团队项目,作为团队中前端组的组长,我 ...
- 关于SQL server2017无法连接远程服务器的问题
安装了SQL server2017,能连接上本地数据库,但是连接远程数据库则老报错,什么实例错误之类的,百度找了也是什么打开sql server 服务,什么修改端口1433,什么TCP协议之类的,全部 ...
- vba增删改查数据库
你在EXCEL中增加一个列名为ID,后在VBA中写以下代码,并引用Microsoft ActiveX Data Objects 2.8后执行Public Sub 写入SQL2008()Dim cnn ...