博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1983 BFS&&DFS
阅读量:5331 次
发布时间:2019-06-15

本文共 1292 字,大约阅读时间需要 4 分钟。

大多数刚需封锁4区域可以,DFS地区封锁。BFS无论是通过

#include "stdio.h"#include "string.h"#include "queue"using namespace std;int dir[4][2]={
{1,0},{-1,0},{0,1},{0,-1}};int s_x,s_y,n,m,t;char str[11][11];struct node{ int x,y,step,key;};int bfs(){ queue
q; node cur,next; int i; int hash[11][11][2]; cur.x=s_x; cur.y=s_y; cur.step=0; cur.key=0; q.push(cur); memset(hash,0,sizeof(hash)); hash[s_x][s_y][0]=1; while (!q.empty()) { cur=q.front(); q.pop(); if (cur.step>=t) return -1; for (i=0;i<4;i++) { next.x=cur.x+dir[i][0]; next.y=cur.y+dir[i][1]; if (next.x<0 || next.y<0 || next.x>=n || next.y>=m) continue; if (str[next.x][next.y]=='#') continue; next.step=cur.step+1; next.key=cur.key; if (str[next.x][next.y]=='J') next.key=1; if (hash[next.x][next.y][next.key]==1) continue; hash[next.x][next.y][next.key]=1; q.push(next); if (str[next.x][next.y]=='E' && next.key==1) return 1; } } return -1;}int dfs(int k){ int i,j; char ch; if (k==0) return bfs(); for (i=0;i

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/mengfanrong/p/4715181.html

你可能感兴趣的文章
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
Awesome Adb——一份超全超详细的 ADB 用法大全
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
epoll使用具体解释(精髓)
查看>>
AndroidArchitecture
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>
大数据学习
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>
倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办...
查看>>
【转】javascript 中的很多有用的东西
查看>>
Android 监听返回键、HOME键
查看>>
Android ContentProvider的实现
查看>>
sqlserver 各种判断是否存在(表名、函数、存储过程等)
查看>>