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 ...
随机推荐
- 小测试 php代理,nginx代理,直接访问对比
#php proxy total sent request num: 507 total handle read times: 506 506 fetches, 2 max parallel, 2.7 ...
- Struts学习之类型转换
* 从页面中获取对应的内容 * 在动作类action中,声明与页面中表单name属性的值同名的属性 * 提供get和set方法 * struts2框架就会通过 ...
- hadoop笔记之hdfs
1.HDFS设计基础与目标 1.HDFS设计基础与目标 (1)硬件错误是常态,因此需要冗余. (2)流式数据访问.即数据批量读取而非随机读写,Hadoop擅长做的是数据分析而不是事务处理. (3)大规 ...
- spring与hibernate整合配置基于Annotation注解方式管理实务
1.配置数据源 数据库连接基本信息存放到properties文件中,因此先加载properties文件 <!-- jdbc连接信息 --> <context:property-pla ...
- 面试题之 query转为obj
要注意处理编码后的字串 对于a=123要得到number形的值 function parseQueryString(url) { var obj = {}; var query = url.sear ...
- VS Code - Debugger for Chrome
VS Code - Debugger for Chrome调试JavaScript的两种方式 VS Code - Debugger for Chrome调试JavaScript的两种方式 最近由于 ...
- Swagger+Spring MVC框架学习分享
[html] view plain copy 最近参与公司接口编写,Android和IOS端都要调用这些接口,需要对接调试,如果没有一个接口文档,管理接口,别人用了接口,也不知道接口怎么用,接口上有什 ...
- nginx filter
server { listen 80; server_name g.zcdn.com; index index.html; location / { proxy_cache cache_go; pro ...
- 数学之路(3)-机器学习(3)-机器学习算法-SVM[7]
SVM是新近出现的强大的数据挖掘工具,它在文本分类.手写文字识别.图像分类.生物序列分析等实际应用中表现出非常好的性能.SVM属于监督学习算法,样本以属性向量的形式提供,所以输入空间是Rn的子集. 图 ...
- Microsoft Azure 上的自定义数据和 Cloud-Init
自定义数据是什么? 客户经常询问如何才能在配置Microsoft Azure 虚拟机时插入脚本或其他元数据.在其他云中,这个概念通常称为用户数据.MicrosoftAzure 中也有一项类似的功 ...