博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Find a way bfs搜索 容易出错
阅读量:4112 次
发布时间:2019-05-25

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

题意:给你一个图,图中有不能走的障碍物,和两人,以及n个(n>=1)KFC,现在要求找到其中一个KFC,让两个人人
走到这个KFC的时间总和最小;
#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std; #define MM(a) memset(a,0,sizeof(a)) typedef long long ll; typedef unsigned long long ULL; const int mod = 1000000007; const double eps = 1e-10; const int inf = 0x3f3f3f3f; const int big=50000; ll max(int a,int b) { return a>b?a:b;}; ll min(int a,int b) { return a
=n||y>=m) return 0; else if(vis[x][y]) return 0; else if(f[x][y]=='#') return 0; return 1; } void bfs(int x,int y) { memset(vis,0,sizeof(vis)); memset(step,inf,sizeof(step)); step[x][y]=0; vis[x][y]=1; queue
qx; queue
qy; qx.push(x);qy.push(y); while(qx.size()) { int tx=qx.front();qx.pop(); int ty=qy.front();qy.pop(); for(int i=0;i<4;i++) { int rx=tx+dx[i]; int ry=ty+dy[i]; if(!legal(rx,ry)) continue; step[rx][ry]=step[tx][ty]+1; vis[rx][ry]=1; qx.push(rx);qy.push(ry); } } } int main() { while(~scanf("%d %d",&n,&m)) { for(int i=0;i
这道题本来没什么的!!但是有个很恶心的坑点,就是并不是每个KFC都可以达到的,,所以将step初始化为0就错了(
因为这样初始化为0的话,如果两个人,都不能到达这个KFC,那么最终total读取的值就为0,也就是这个两个人都无法达到
的点输出总的时间是0.。。。。。。)

转载地址:http://etgsi.baihongyu.com/

你可能感兴趣的文章
element-ui全局自定义主题
查看>>
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>
js报错显示subString/subStr is not a function
查看>>
高德地图js API实现鼠标悬浮于点标记时弹出信息窗体显示详情,点击点标记放大地图操作
查看>>
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
HTTP和HttpServletRequest 要点
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
关于无线PCB中 中50欧姆的特性阻抗的注意事项
查看>>
Spring的单例模式源码小窥
查看>>
后台服务的变慢排查思路(轻量级应用服务器中测试)
查看>>
MySQL中InnoDB事务的默认隔离级别测试
查看>>
微服务的注册与发现
查看>>
bash: service: command not found
查看>>
linux Crontab 使用 --定时任务
查看>>
shell编程----目录操作(文件夹)
查看>>
机器学习-----K近邻算法
查看>>
HBASE安装和简单测试
查看>>