点击打开链接

将所有的数据都+500,然后模版。。

#include"stdio.h"
#include"string.h"
#include"queue"
using namespace std;
int d[4][2]={1,0,0,1,-1,0,0,-1};
int x,y,n,map[1001][1001];
struct node
{int x,y,step;
};
void bfs()
{int i;queue<node>Q;node q,p;p.x=500;p.y=500;p.step=0;Q.push(p);map[p.x][p.y]=1;while(!Q.empty()){p=Q.front();Q.pop();for(i=0;i<4;i++){q.x=p.x+d[i][0];q.y=p.y+d[i][1];q.step=p.step+1;if(q.x>=0&&q.x<=1000&&q.y>=0&&q.y<=1000&&map[q.x][q.y]==0){if(q.x==x&&q.y==y){printf("%d\n",q.step);return ;}map[q.x][q.y]=1;Q.push(q);}}}
}
int main()
{int i,a,b;while(scanf("%d%d%d",&x,&y,&n)!=-1){x+=500;y+=500;memset(map,0,sizeof(map));for(i=0;i<n;i++){scanf("%d%d",&a,&b);map[a+500][b+500]=1;}if(x==500&&y==500)printf("0\n");else bfs();}return 0;
}

转载于:https://www.cnblogs.com/yyf573462811/archive/2012/07/31/6365296.html

POJ 3626 Mud Puddles (BFS)相关推荐

  1. POJ 3322 Bloxorz I(BFS)

    题意: 要把x所在地方的盒子翻滚到O处,最少需要的滚动次数. 思路: BFS 求最短路径,问题的关键是如何对盒子翻转时,移动状态的一个设计,开了一个三维数组. #include <iostrea ...

  2. 深度优先搜索(DFS)与广度优先搜索(BFS)详解

    原文来自<挑战程序设计竞赛> 深度优先搜索(DFS)和宽度优先搜索(BFS)都是常见的搜索算法.在学习DFS和BFS之前,我们首先得知道递归函数的概念. 1. 递归函数 通俗地讲,一个函数 ...

  3. python扫雷 广度优先_Leetcode之广度优先搜索(BFS)专题-529. 扫雷游戏(Minesweeper)...

    Leetcode之广度优先搜索(BFS)专题-529. 扫雷游戏(Minesweeper) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. N叉树的层序遍历(N-ary Tre ...

  4. 三十二、图的创建深度优先遍历(DFS)广度优先遍历(BFS)

    一.图的基本介绍 为什么要有图 前面我们学了线性表和树 线性表局限于一个直接前驱和一个直接后继的关系 树也只能有一个直接前驱也就是父节点 当我们需要表示多对多的关系时, 这里我们就用到了图. 图的举例 ...

  5. Java实现算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)

    对算法导论中图的广度优先搜索(BFS)和深度优先搜索(DFS)用Java实现其中的伪代码算法,案例也采用算法导论中的图. import java.util.ArrayList; import java ...

  6. 【洛谷】马的遍历--广度优先搜索(BFS)

    题目描述 传送门:https://www.luogu.com.cn/problem/P1443 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意 ...

  7. 二叉搜索树(BFS)总结

    满二叉树 定义:高度为h,并且由2{h} –1个结点的二叉树,被称为满二叉树. 完全二叉树 定义:一棵二叉树中,只有最下面两层结点的度可以小于2,并且最下一层的叶结点集中在靠左的若干位置上.这样的二叉 ...

  8. 广度优先搜索(BFS)与深度优先搜索(DFS)

    一.广度优先搜索(BFS) 1.二叉树代码 # 实现一个二叉树 class TreeNode:def __init__(self, x):self.val = xself.left = Nonesel ...

  9. 二叉树的深度优先遍历(DFS)与广度优先遍历(BFS)

    二叉树的深度优先遍历(DFS)与广度优先遍历(BFS) 深度优先遍历:从根节点出发,沿着左子树方向进行纵向遍历,直到找到叶子节点为止.然后回溯到前一个节点,进行右子树节点的遍历,直到遍历完所有可达节点 ...

  10. 层层递进——宽度优先搜索(BFS)

    问题引入 我们接着上次"解救小哈"的问题继续探索,不过这次是用宽度优先搜索(BFS). 注:问题来源可以点击这里 http://www.cnblogs.com/OctoptusLi ...

最新文章

  1. R语言ggplot2可视化散点图并使用scale_y_log10函数配置Y轴对数坐标、使用ggforce包的facet_zoom函数将可视化结果中需要突出放大的区域进行放大(Zoom in)
  2. Xamarin.Android使用教程之Android开发所需的模拟器
  3. vscode怎么运行verilog语言_VScode中不同语言使用不同字体,如C/C++,VHDL
  4. Spring AOP编程-传统aop开发总结
  5. Qt / 如何解决移动了 Qt 的项目,但是 Qt 在原目录下生成编译文件的问题
  6. scala版本的springboot的helloworld实验记录(转载+自己验证整理)
  7. 强制html元素不随窗口缩小而换行
  8. shiro单点登录原理_SSO单点登录三种情况的实现方式详解
  9. 太形象了!什么是边缘计算?最有趣的解释没有之一!
  10. 判断是否为长按_如何判断电路中的IC是在工作?
  11. 什么是三层架构?它的优点是什么?_三层实木和多层实木地板各有什么优劣点
  12. 根据计算机配置设置bios,电脑如何进入bios设置
  13. canon科学计算机说明书,canon相机使用说明 各个按键的使用说明【图解】
  14. R语言dplyr包学习笔记(吐血整理宇宙无敌详细版)
  15. 基于NLP的软件安全研究(二)
  16. Selenium的文件上传和操作Cookie等方法_Sinno_Song_新浪博客
  17. JavaScript之childNodes 和 children 区别
  18. RNA-seq 详细教程:搞定count归一化(5)
  19. AD在绘制PCB时候出现 Un-Routed Net Constraint Violation问题解决
  20. (笔记)第一章:零基础入门深度学习

热门文章

  1. h2数据库文件.mv.db
  2. Html5 打砖块游戏,加入道具和速通模式(含源码)
  3. Xshell键盘数字键不能用怎么办?
  4. 16岁天才开发的Summly获李嘉诚种子投资
  5. 示波器20M硬件带宽限制与数字滤波高低通功能
  6. 排序算法之---希尔排序(一看你就懂滴)
  7. 瑞云Rayvision渲染的原创动画《吃饭睡觉打豆豆》震撼来袭 ——创造产业历史,日点击量过200万次...
  8. mysql中floor的用法_Mysql报错注入之floor报错详解
  9. 关于置信水平,求区间的简便算法
  10. abstract 和 introduction的写法