传送门

题目

题解

直接bfs就行,有个坑点要注意:因为坐标存在负数,所以可以把所有点都+500转化为正数去做。

Code

#include<bits/stdc++.h>
#define debug1(x) cout<<#x<<"="<<x<<endl
#define debug2(x,y) cout<<#x<<"="<<x<<' '<<#y<<"="<<y<<endl
using namespace std;
const int maxn=1e4+10;
typedef long long ll;
int x,y,N,a[maxn],b[maxn];
bool book[1005][1005];
struct node
{int x,y,mindis;
}que[1000008];
int bfs(int qx,int qy,int zx,int zy)//qx,qy为起点坐标,zx,zy为终点坐标
{int next[4][2]={{0,1},{0,-1},{1,0},{-1,0}};int head=1,tail=1,tx,ty,qq=0;que[tail].x=qx,que[tail].y=qy,que[tail++].mindis=0;book[qx][qy]=1;while(head<tail){for(int i=0;i<4;i++){tx=que[head].x+next[i][1];ty=que[head].y+next[i][0];if(tx<0||ty<0||tx>1000||ty>1000)continue;if(!book[tx][ty]){book[tx][ty]=1;que[tail].x=tx,que[tail].y=ty;que[tail].mindis=que[head].mindis+1;tail++;}if(tx==zx&&ty==zy){qq=1;break;}}if(qq)break;head++;}return que[tail-1].mindis;
}
int main()
{ios::sync_with_stdio(false);cin>>x>>y>>N;x+=500,y+=500;for(int i=1;i<=N;++i){cin>>a[i]>>b[i];book[a[i]+500][b[i]+500]=1;}int ans=bfs(500,500,x,y);cout<<ans<<endl;return 0;
}

Mud Puddles ( bfs )相关推荐

  1. 搜索 —— 广搜的优化技巧

    [例题] 连连看(HDU-1175)(简单推导):点击这里 字串变换(洛谷-P1032)(string的使用):点击这里 非常可乐(HDU-1495)(三维BFS):点击这里 Mud Puddles( ...

  2. 如何种植屡获殊荣的青豆

    Most people don't know this yet, but I've decided to give up computers and become a farmer instead. ...

  3. [Usaco2007 Dec]穿越泥地[bfs][水]

    Description 清早6:00,Farmer John就离开了他的屋子,开始了他的例行工作:为贝茜挤奶.前一天晚上,整个农场刚经受过一场瓢泼大雨的洗礼,于是不难想见,FJ 现在面对的是一大片泥泞 ...

  4. HDU-1459.非常可乐(BFS )

    这道题TLE了很多次,原来一直以为将数字化为最简可以让运算更快,但是去了简化之后才发现,真正耗时的就是化简....还和队友学到了用状态少直接数组模拟刚就能过... 本题大意:给出可乐的体积v1,给出两 ...

  5. HDU1548:A strange lift(Dijkstra或BFS)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1548 题意:电梯每层有一个数,例如第n层有个数k, 那么这一层只能上k层或下k层,但是不能低于一层或高 ...

  6. HDU 1429 胜利大逃亡(续) (BFS+位压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)  ...

  7. usaco Overfencing 穿越栅栏(BFS)

    Overfencing 穿越栅栏 农夫 John 在外面的田野上搭建了一个巨大的用栅栏围成的迷宫.幸运的是,他在迷宫的边界上留出 了两段栅栏作为迷宫的出口.更幸运的是,他所建造的迷宫是一个" ...

  8. 数据结构--搜索BFS

    文章目录 广度优先搜索 典型例题 广度优先搜索 广度优先搜索类似于树的层次遍历过程.它需要借助一个队列来实现.如图2-1-1所示,要想遍历从v0到v6的每一个顶点,我们可以设v0为第一层,v1.v2. ...

  9. 2017icpc沈阳 G Infinite Fraction Path BFS+剪枝

    题意:给一个长度为n的字符串数组,你可以选定起点跳n次,从i点只能跳到(i*i+1)%n的位置,最后求一个最大字典序. 思路:要求最大的,即每一步都是最大,所以将最大的数都入队进行bfs跳下一步. 剪 ...

  10. HDU - 5876 Sparse Graph 2016 ACM/ICPC 大连网络赛 I题 bfs+set+补图最短路

    题目链接 题意:给的补图,让你求一个源点到其他点的最短距离,因为图太稠密了, 用dij以及spfa根本不得行,这里只能用一种我不会方法来进行,这里用了bfs的方法以及set来维护,分别set维护一个未 ...

最新文章

  1. 真牛X!这款通用数据库连接工具DBeaver!可以连接和操作市面所有的数据库!...
  2. Fragment 与DialogFragment 相互之间传递数据
  3. cnn卷积神经网络应用_卷积神经网络(CNN):应用的核心概念
  4. 好看的php验证码,一漂亮的PHP图片验证码实例
  5. 资源不足的情况怎么设置sparkrdd并行度_监控录像机资源不足或达到上限的原因及解决方法!...
  6. web前端要学哪些东西,前端大牛分享的技能整理
  7. 【干货】2021技术展望:开拓新局,掌握变局时代的技术先机-埃森哲.pdf(附下载链接)
  8. 德鲁伊 oltp oltp_内存中OLTP –娱乐看门狗的三个关键点–桶数
  9. sysstat工具的用法
  10. python的对象和方法_python--类方法、对象方法、静态方法
  11. utilities(matlab)—— 图像分块(image2cols、cols2image)
  12. SpringBoot --thymeleaf(资源文件css、js的引入)
  13. powerquery分组_Power Query 基本功能使用
  14. 拦截器(Interceptor)和过滤器(Filter)区别
  15. restlet和ajax,使用Web测试插件Restlet Client发送Get和Post请求的方法教程
  16. eviews9.0详细安装步骤
  17. 金蝶K3序时簿页面增加物料即时库存显示功能
  18. 传输线的共模和差模噪声,抑制方法
  19. Python爬虫实战,QQ音乐爬取全部歌曲
  20. shell脚本输出颜色

热门文章

  1. innodb_io_capacity、innodb_io_capacity_max 的影响
  2. t分布f分布与样本均值抽样分布_常用概率分布
  3. Error: L6218E: Undefined symbol vApplicationGetIdleTaskMemory (referred from tasks.o).
  4. 路由器桥接dns服务器未响应,360路由器无线桥接的设置方法(电脑)?
  5. 如何阻止手机虚拟键盘弹起
  6. python批量生成列表_Python编程实战:根据数据表格,快速批量生成符合规范的WORD文档...
  7. Adidas商品上货监控,有货时提醒商品尺码
  8. 20doing 动名词
  9. python当中的列表函数和列表推导式
  10. 产品读书《游戏改变世界:游戏化如何让现实变得更美好》