题目描述 Description
将于5月26日发售的东方辉针城在东方吧中引起了很多关注…
这个游戏是这样的,需要你操控一名角色,去和其他的杂鱼和boss决战。而对方和你的攻击的手段都是弹幕。在游戏中,你需要躲避他人的弹幕,并发射出自己的弹幕来攻击对方。本题中,为简单起见,只考虑对方发射的弹幕。
假设主角始终处于画面低端,将每秒与主角出现在一排的弹幕进行叠加,总共游戏进行了T秒,可以形成一个(T+1)×WIDTH大小的字符矩阵,“.”表示该点为空,“*”表示该点有至少一颗子弹。
现在告诉你主角的初始位置,求能否不中弹经过这T秒的弹幕,和操作的步骤。(主角不会⑨的)
题目认为抵达最后一行即视为通过,如果有多种不同的选择可以抵达最后一行请优先向左,其次不动,最后向右;题目保证数据合法且初始位置无弹幕。

输入描述 Input Description
输入数据包括T+3行。
第1行为两个正整数T和WIDTH,分表表示游戏进行的时间和屏幕的宽度。
第2行为一个正整数S,为初始的位置。
第3~T+3行每行包括WIDTH个字符,表示该点的状态。

输出描述 Output Description
第1行为一个字符串“Yes”或者“No”。表示能否不中弹通过此区域。
第2行为一个字符串,如果出现中弹则不输出。表示通过T秒的操作,“L”表示向左移动一个格子,“R”表示向右移动一个格子,“N”表示不动。

数据范围及提示 Data Size & Hint
1≤T≤1000, 1≤WIDTH≤100
来自其他OJ, 简单题

题解:一道简单的dfs,只要在dfs的时候先向左再不动再向右就好,不过弹幕是自己会动的,所以每一秒都要向下移动一格,至于最后输出的方向只要dfs的时候记录一下就好。

代码如下

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int u[4]={0,1,1,1};
int v[4]={0,-1,0,1};//先左后不动再向右
int d[1010],map[1010][1010];
int t,w,s;
bool flag;
void dfs(int x,int y)
{if(x==t+1)//如果搜到头了 {flag=1;return ;}for(int i=1;i<=3;i++){int xx=x+u[i];int yy=y+v[i];if(xx>0&&xx<=t+1&&yy>0&&yy<=w&&map[xx][yy]){d[x]=v[i];//记录方向 dfs(xx,yy);if(flag) return ;//到头后直接退出 }}
}
int main()
{scanf("%d%d%d",&t,&w,&s);for(int i=1;i<=t+1;i++)for(int j=1;j<=w;j++){char c;cin>>c;if(c=='.') map[i][j]=1;else if(c=='*') map[i][j]=0;}dfs(1,s);//第一行的初始位置开始搜 if(flag){printf("Yes\n");for(int i=1;i<=t;i++){if(d[i]==-1) printf("L");else if(d[i]==0) printf("N");else printf("R");}printf("\n");}else printf("No\n");return 0;
}

codevs 2547 东方辉针城(dfs)相关推荐

  1. Codevs 2547 东方辉针城

    2547 东方辉针城 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描述 Description 将于5月26日发售的东方辉针城在东方吧中引起了很多关注- 这个游 ...

  2. codves 2547 东方辉针城

    codves 2547 东方辉针城 题目描述 Description 将于5月26日发售的东方辉针城在东方吧中引起了很多关注- 这个游戏是这样的,需要你操控一名角色,去和其他的杂鱼和boss决战.而对 ...

  3. 2547 东方辉针城

    2547 东方辉针城  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题解 题目描述 Description 将于5月26日发售的东方辉针城在东方吧中引起了很多关 ...

  4. 东方辉针城(深度优先搜索)

    东方辉针城 题目描述: 将于5月26日发售的东方辉针城在东方吧中引起了很多关注- 这个游戏是这样的,需要你操控一名角色,去和其他的杂鱼和boss决战.而对方和你的攻击的手段都是弹幕.在游戏中,你需要躲 ...

  5. 东方神灵庙及东方辉针城E难度混关

    东方神灵庙 特别水 推荐梦机 随便扭扭就能过 东方辉针城 推荐咲A 怂了就炸 如果规划得不错到了六面每符基本都能炸 狼女终符推荐炸 四面和五面道中比较恶心人千万注意不要收点把自己撞死了 四面的符卡怂了 ...

  6. [codevs2547]东方辉针城

    题目← 首先一定会往上层移动 既然给出了答案的优先顺序那把搜索顺序改一下第一个dfs到的就一定是最优解了-- #include<iostream> #include<cstdio&g ...

  7. 对于有关东方的题目的整理。。

    东方赛高 此为总贴 收录以东方project为背景的题目. 模拟赛套题...(25道)无数据,有题面:二次联通门 1. luogu P3345 [ZJOI2015]幻想乡战略游戏 动态点分治(暴力水过 ...

  8. P3237 [HNOI2014]米特运输

    P3237 [HNOI2014]米特运输 第104道题让我洛谷红名. (^ w ^) 题目描述 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存 ...

  9. (差分)洛谷P4231 三步必杀

    洛谷P4231 三步必杀 三步必杀 题目背景 (三)旧都 离开狭窄的洞穴,眼前豁然开朗. 天空飘着不寻常的雪花. 一反之前的幽闭,现在面对的,是繁华的街市,可以听见酒碗碰撞的声音. 这是由被人们厌恶的 ...

最新文章

  1. 数据结构为什么重要?
  2. yum mysql 启动失败_Linux下MySQL数据库yum升级后无法启动解决办法 | 系统运维
  3. C++(九)——职工信息管理系统
  4. r语言 断轴 画图_R语言作图——Density plot
  5. [转]阿里编程规范(精简版)
  6. iOS开发多线程篇—线程的状态
  7. stm32 HSE HSI
  8. jQuery学习之一---选择器
  9. php get获取腾讯视频vid,获取腾讯视频源地址链接的方法
  10. PyQt4打包exe文件
  11. 一种常见(粒度,统计值)报表的实现方案
  12. k8s Storage Classes
  13. 中国移动CMPP短信开发平台通讯包 2.8
  14. python爬虫——40行代码爬取「笔趣看」全部小说
  15. java 单机传奇_Win7/Win10系统架设单机传奇手游教程[战神引擎]
  16. Window系统新手建站教程
  17. 瞬态抑制二极管TVS的基本知识
  18. 如何提升程序员的代码编写能力
  19. 自动化测试+性能面试题整理--个人最新【持续更新】
  20. Linux 一句精彩的回答【转】

热门文章

  1. 新手小白怎么做自媒体?自媒体原创文章怎么写?这3点很重要!
  2. python语言和sql语言的区别_SQL和Python的集合操作对比:适合的就好!
  3. revit橄榄山插件出图有管道“翻弯标记”吗?
  4. 实时统计Android应用的CPU和内存占用
  5. 异质网络表示--Structural Deep Embedding for Hyper-Networks
  6. 写一些“北京中新委互联网传媒”的黑历史吧!
  7. 联想笔记本电脑无法使用外接显示器投影的一种解决办法
  8. 号码标记查询 php,你的手机号码有没有被标记?这个网站可以查询
  9. 智慧餐饮远程监控解决方案
  10. mysql keepalive 脑裂_keepalived 预防脑裂检测脚本