codves 2547 东方辉针城
来源:互联网 发布:单片机开发项目 编辑:程序博客网 时间:2024/05/06 12:24
codves 2547 东方辉针城
题目描述 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”表示不动。
样例输入 Sample Input
8 5
3
…..
…..
..*
..*
..*
..*
*.*
…..
…..
样例输出 Sample Output
Yes
NRNNNNLL
数据范围及提示 Data Size & Hint
1≤T≤1000, 1≤WIDTH≤100
思路:注意给出的图有n+1行且主角一开始是在第一行的。
题解:
#include<iostream>#include<cstdio>using namespace std;int n,m;int s;char a[1005][105];bool vis[1005][105];int ans=1000000;bool flag=0;int dx[4]={1,1,1};int dy[4]={-1,0,1};//优先向左,其次不动,再次向右。 int r[1000+10];//记录移动 void dfs(int x,int y){ vis[x][y]=1; if(x==n+1) { flag=1; return; } for(int i=0;i<3;i++) { int mx=x+dx[i],my=y+dy[i]; if(mx>=1&&mx<=n+1&&my>=1&&my<=m&&!vis[mx][my]&&a[mx][my]!='*') { r[x]=dy[i]; dfs(mx,my); } if(flag) { return; } }}int main(){ scanf("%d%d",&n,&m); scanf("%d",&s); for(int i=1;i<=n+1;i++) { for(int j=1;j<=m;j++) { cin>>a[i][j]; } } dfs(1,s); if(flag==1) { printf("Yes\n"); for(int i=1;i<=n;i++) { if(r[i]==0) { printf("N"); } if(r[i]==-1) { printf("L"); } if(r[i]==1) { printf("R"); } } } else { printf("No\n"); } return 0;}
- codves 2547 东方辉针城
- Codevs 2547 东方辉针城
- codevs 2547 东方辉针城(dfs)
- [codevs2547]东方辉针城
- 东方
- 东方神灵庙及东方辉针城E难度混关
- 东方辉针城简易修改器
- Codves 1036 商务旅行
- codves 笨小猴 1053
- codves一塔湖图80分代码
- codves m进制转十进制 1475
- 东方辉针城(深度优先搜索)
- Codves 3145 4412 4835 汉诺塔 递归
- codves动态规划 最长上升子序列
- 东方镜台
- 东方削面
- 东方不败
- 东方美
- 过滤器Filter
- 在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* **********
- Filter 过滤器
- 数据的存储类型
- Copy-On-Write容器的使用
- codves 2547 东方辉针城
- 进程死锁的危害、导致原因、解决方法
- Matlab调用DLL
- 写博客
- ionic调试方式
- 2.第五章..
- mfc大观之三(创建对象)
- 【ZeroMQ】ZeroMQ及其模式
- 输出0~999之间的所有“水仙花数”ps:“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身