A计划(bfs)
A计划
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 2 Accepted Submission(s) : 1
搜索:
#include<stdio.h>
#include<string.h>
#include<queue>
using namespace std;
const int MAXN=11;
char map[2][MAXN][MAXN];
int vis[2][MAXN][MAXN];
struct Node{
int x,y,z;
int t;
};
int disx[4]={0,0,1,-1};
int disy[4]={1,-1,0,0};
int N,M,T;
void bfs(int sx,int sy,int sz){
memset(vis,0,sizeof(vis));
queue<Node>dl;
Node a,b;
a.x=sx;a.y=sy;a.z=sz;
a.t=0;
vis[sz][sx][sy]=1;
dl.push(a);
while(!dl.empty()){
a=dl.front();
dl.pop();
// printf("%d ",dl.size());
for(int i=0;i<4;i++){
b.x=a.x+disx[i];b.y=a.y+disy[i];b.z=a.z;b.t=a.t+1;
if(map[b.z][b.x][b.y]=='#'){
b.z=1-b.z;
}
//printf("%d %d %d %d %d\n",b.x,b.y,b.z,b.t,vis[b.z][b.x][b.y]);
// printf("%d %d %d\n",N,M,T);
if(b.x<0||b.y<0||b.x>=N||b.y>=M||vis[b.z][b.x][b.y]||map[b.z][b.x][b.y]=='*')continue;
if(b.t>T)continue;
if(map[b.z][b.x][b.y]=='#')continue;
if(map[b.z][b.x][b.y]=='P'){
puts("YES");
return;
} vis[b.z][b.x][b.y]=1;
dl.push(b);
}
}
puts("NO");
}
int main(){
int C;
scanf("%d",&C);
while(C--){
scanf("%d%d%d",&N,&M,&T);
for(int z=0;z<2;z++)
for(int x=0;x<N;x++)
scanf("%s",map[z][x]);//无语了。。。。。。。写成vis了。我去。。。。。。
bfs(0,0,0);
}
return 0;
}
A计划(bfs)的更多相关文章
- HDU 2102 A计划(BFS/DFS走迷宫)
A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- A计划(BFS)
A计划 http://acm.hdu.edu.cn/showproblem.php?pid=2102 Time Limit: 3000/1000 MS (Java/Others) Memory ...
- HDU2102 A计划 —— BFS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2102 A计划 Time Limit: 3000/1000 MS (Java/Others) Me ...
- hdu 2102 A计划-bfs
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- HDOJ 2102 A计划(bfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2102 思路分析: <1>搜索方法分析:由于需要寻找最短的找到公主的路径,所以采用bfs搜索 ...
- HDU - 2102 A计划 (BFS) [kuangbin带你飞]专题二
思路:接BFS判断能否在限制时间内到达公主的位置,注意如果骑士进入传送机就会被立即传送到另一层,不会能再向四周移动了,例如第一层的位置(x, y, 1)是传送机,第二层(x, y, 2)也是传送机,这 ...
- HDU 2102 A计划 (BFS或DFS)
题意:中文题. 析:是一个简单的搜索,BFS 和 DFS都可行, 主要是这个题有一个坑点,那就是如果有一层是#,另一个层是#或者*,都是过不去的,就可以直接跳过, 剩下的就是一个简单的搜索,只不过是两 ...
- A计划(双层bfs)
A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...
- A计划 hdu2102(bfs一般题)
A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
随机推荐
- 基于HTTP协议下载文件的实现
最近在开发文件下载的程序,该程序是基于HTTP开发的. 首先是了解了文件传输到客户端的大概格式,然后分析该格式,实现写入文件的功能. 自己构造的HTTP包如下: GET /*********.rar ...
- svn添加强制注释,pre-commit结合python
鉴于组内有些人在提交代码的时候并不写注释,而且没有固定格式,所以准备给svn提交时增加强制注释. 首先找到代码库里的hooks目录,正常建svn库的时候都有这个目录.进入hooks目录,找到pre-c ...
- SQL Server 中同时操作的例子:
在SQL 中同一逻辑阶段的操作是同时发生的. 先有一个例子做为带入: declare @x as int =1;declare @y as int =2;set @x=@y;set @y=@x;sel ...
- 10_Segue Example
10 // // ViewController.swift // Segues Example // // Created by ZC on 16/1/10. // Copyright © 2016年 ...
- 纯代码利用CSS3 圆角边框和盒子阴影 制作 iphone 手机效果
原文:纯代码利用CSS3 圆角边框和盒子阴影 制作 iphone 手机效果 大家好,我是小强老师. 今天我们看下CSS3最为简单的两个属性. css3给我们带来了很多视觉的感受和变化,以前的图片做的事 ...
- winform文件迁移工具
服务器D盘上传的文件过多,空间剩下很少了,于是想把里面部分文件,大概几万个文件转移到E盘,做了这个小工具.先查询出要转移的文件清单,保存在一个记事本中,如下所示: 接着读取文件名,一个个移动到指定目录 ...
- JavaScript基础(语法类型转换、运算符、语句)
1.类型转换: 分为自动转换和强制转换,一般用强制转换. 其他类型转换为整数:parseint(): 其他类型转换为小数:parsefloat(): 判断是否是一个合法的数字类型:isNaN(): 是 ...
- C#连接Oracle数据库基本类
C#用来连接oracle数据库的基本类: using System; using System.Collections.Generic; using System.Linq; using System ...
- Javaweb统计在线人数的小栗子
最近在学习Javaweb相关的内容(不黑不吹之前对web开发零基础),下面通过一个统计在线人数的小栗子讲讲Servlet监听器吧 开发环境 eclipse tomcat 7 先说说这个小栗子的构思: ...
- Problem D Ananagrams(map的使用)
题目链接:Problem D 题意:输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本中的另一个单词.在判断是否满足条件时,字母不区分大小写. 但是输出时应保留原始大小写, ...