HDU-2102 A计划 dfs
Description
现据密探所报,公主被关在一个两层的迷宫里,迷宫的入口是S(0,0,0),公主的位置用P表示,时空传输机用#表示,墙用*表示,平地用.表示。骑士们一进入时空传输机就会被转到另一层的相对位置,但如果被转到的位置是墙的话,那骑士们就会被撞死。骑士们在一层中只能前后左右移动,每移动一格花1时刻。层间的移动只能通过时空传输机,且不需要任何时间。
Input
Output
Sample Input
Sample Output
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m,t,p;
char map[4][20][20];
int v[3][20][20];
int yi[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
void dfs(int x,int y,int k,int time)
{if (time>t||p==1) return ;if (map[k%2][x][y]=='P') {p=1;return ;}int i,rx,ry,a;for (i=0;i<4;i++){a=0;rx=x+yi[i][0];ry=y+yi[i][1];if (map[k%2][rx][ry]=='#') a=1;if (map[(k+a)%2][rx][ry]=='#') continue;if (rx>=0&&rx<n&&ry>=0&&ry<m&&map[(k+a)%2][rx][ry]!='*'&&!v[(k+a)%2][rx][ry]){v[(k+a)%2][rx][ry]=1;dfs(rx,ry,k+a,time+1);v[(k+a)%2][rx][ry]=0;}}
}
int main()
{int c,i,j,k;scanf("%d",&c);while (c--){scanf("%d%d%d",&n,&m,&t);for (k=0;k<2;k++)for (i=0;i<n;i++)for (j=0;j<m;j++) scanf(" %c",&map[k][i][j]);p=0;memset(v,0,sizeof(v));map[0][0][0]='*';dfs(0,0,0,0);if (p) printf("YES\n");else printf("NO\n");}return 0;
}
转载于:https://www.cnblogs.com/pblr/p/4698620.html
HDU-2102 A计划 dfs相关推荐
- Aquarius's Trial F - 6 HDU - 2102 A计划
A计划 Problem Description 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的 ...
- HDU 2102 A计划(广度优先搜索+数据)
A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU 2102 A计划
该题是一道典型的搜索题, #include<stdio.h> #include<stdlib.h> #include<string.h> struct Node { ...
- HDU - 2102 A计划(双层BFS)
题目: 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老.年迈的国王正是心急如焚, ...
- 【HDU - 2102】A计划 (麻烦一点的bfs)
题干: 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验.魔王已经发出消息说将在T时刻吃掉公主,因为他听信谣言说吃公主的肉也能长生不老.年迈的国王正是心急如焚, ...
- hdu 5325 Crazy Bobo dfs
// hdu 5325 Crazy Bobo // // 题目大意: // // 给你一棵树,树上每一个节点都有一个权值w,选择尽可能多的节点, // 这些节点相互联通,而且依照权值升序排序之后得到节 ...
- HDU 2102 题解(BFS 广度优先搜索 练习题)
原题链接,但是HDU现在校外提交需要审核 欢迎来 SCPC OJ提交 知识点 : BFS(广搜/宽搜) 原题: 描述: 可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生 ...
- hdu 1298 字典树 + DFS (模拟T9文本输入)
题意: 给你一些按键顺序,让你输出每一步中概率最大的那个单词,这里的概率计算方 法好好看看别弄错了,一开始就是因为弄错了,各种wa,比如 abc 1 ,ab 1,那么 ab 的概率就是2 ...
- hdu 4309 最大流 + DFS
题意: 给以三种有向边 (1) 隧道,可以过无数人,也可以藏c个人. (2) 路,只能过人(流量INF). (3)古桥,如果不修理可以过1个人,修理可以过无数个人,但 ...
- hdu 1584蜘蛛牌(DFS)
蜘蛛牌 Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
最新文章
- iOS 关闭页面侧滑手势
- XXX管理平台系统——项目教训
- 深圳腾讯内部Jetpack宝典意外流出!极致经典,堪称Android架构组件的天花板
- python2和python3的主要区别
- sha256---利用java自带的实现加密
- 计算机论文搜索技巧【二】
- linux server 5.5下载地址,《红帽Linux 5.5 for x86 服务器版》(RedHat Enterprise Linux Server 5.5 for x86)...
- java连接远程带有密码的mongodb数据库
- scrapy爬虫框架入门实战
- pytorch迁移学习--模型建立的代码实现
- Java集合(Collection)综述
- 简述Flash 事件机制?
- 正则表达式:Javascript
- win11官网的预览版系统如何下载安装
- gis 数据框裁剪_【更新84篇】地理数据科学技术文章合集,欢迎大家点赞、在看、转发三连!...
- centos 关机命令_全了 Linux 常用命令大汇集
- 爬虫破解瑞数js逆向动态混淆
- 爱普生EPSON实时时钟芯片-RX8900SA
- 阶的估计I 无穷小量与强函数2 Taylor公式 基本初等函数与三角函数的阶
- python怎么左对齐_python中如何用ljust()实现字符串左对齐?
热门文章
- Python3数字格式化代码示例
- Linux shell只读变量
- MySQL Percona PXC集群实现MySQL主从复制强一致性
- 更改git远程分支的方法
- Java中字符串以小数点分割时无效,String s = “12.34“; String[] ss = split(“.“);分割结果为空
- word2003快速排版工具栏_干货分享 | 闲到在家数瓜子?——先把ID排版秘籍学了吧(上)...
- mysql sql执行加载顺序
- Python 列表拷贝
- 8086指令(II)
- Linux高级篇——IO系统编程