Codeforces 586D Phillip and Trains 题解
来源:互联网 发布:网络兼职做什么赚钱 编辑:程序博客网 时间:2024/05/20 05:55
题意
有三条铁轨,上边有若干火车,人刚开始在最左边,每一回合人可以向右走一格然后选择上移、下移或不动,然后所有火车会向左平移2格,问人是否可能安全到达最右边
思路
由于题目数据范围不大,所以采取记忆化搜索即可,每一次先判断是否能够右移一格,然后考虑上移、下移、不动是否可行,此时可以用相对运动将火车左移转换成人右移考虑和判断,如果最后人能够到达最右边或者更右边就是可行的,否则就是不可行的
代码
#include <cstdio>char mp[3][101];int f,n;int vis[3][101];void dfs(int x,int y){ if(f==1||vis[x][y]==1) return; if(y>=n-1) { f=1; return; } vis[x][y]=1; if(mp[x][y+1]=='.') { if(x!=0&&mp[x-1][y+1]=='.'&&(y+3>=n||mp[x-1][y+3]=='.')) dfs(x-1,y+3); if(y+3>=n||mp[x][y+3]=='.') dfs(x,y+3); if(x!=2&&mp[x+1][y+1]=='.'&&(y+3>=n||mp[x+1][y+3]=='.')) dfs(x+1,y+3); } return;}int main(){ int t,s,k; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&k); f=0; for(int i=0;i<3;i++) scanf("%s",mp[i]); for(int i=0;i<3;i++) if(mp[i][0]=='s') s=i; dfs(s,0); if(f==1) printf("YES\n"); else printf("NO\n"); for(int i=0;i<3;i++) for(int j=0;j<n;j++) vis[i][j]=0; } return 0;}
0 0
- Codeforces 586D Phillip and Trains 题解
- 【33.33%】【codeforces 586D】Phillip and Trains
- Codeforces 586D Phillip and Trains
- Codeforces 586D Phillip and Trains
- CodeForces 586D Phillip and Trains (基础搜索 -- DFS)
- CodeForces 586D Phillip and Trains(搜索)
- Codeforces 586D Phillip and Trains【思维+Bfs】好题~!
- CodeForces #325 D. Phillip and Trains
- Codeforces #325 D. Phillip and Trains (bfs)
- 【Codeforces Round #325 (Div. 2)】D. Phillip and Trains
- Codeforces Round #325 (Div. 2) D. Phillip and Trains
- Codeforces #325 Div2 D Phillip and Trains(模拟)
- Codeforces Round #325 (Div. 2)-D. Phillip and Trains
- Codeforces 586D Phillip and Trains dfs —— Round #325 (Div. 2)
- codeforces 585B Phillip and Trains(bfs)
- Codeforces Round #325 (Div. 2) D. Phillip and Trains (BFS)
- CF Round #325 Div2 D. Phillip and Trains
- 简单搜索题(D. Phillip and Trains)
- Java编程之异常体系
- hdu 2051 Bitset 把一个十进制转化为2进制数
- ElasticSearch核心概念
- Mysql中的常用函数介绍
- hibernate连接sqlserver、mysql数据库
- Codeforces 586D Phillip and Trains 题解
- 用Java解决约瑟夫环问题
- 线程安全和可重入函数的基本概念
- 图库选择
- 系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- 网易春招编程题1
- decode-ways
- 线段树练习题三
- Hibernate的注解开发之数据的三种关系介绍,表结构一对一