ACM模板

C++queue的应用


struct note{  int x; //横坐标 int step;  //步数 int y;  //纵坐标
};  void BFS(note front_head)//BFS
{  queue<note>Q;//建立空队列   Q.push(front_head);//将起始点加入队列   note next_queue;//下一个队列元素   note now_head;//当前队头元素   while(!Q.empty())//循环条件是队列不为空   {  now_head = Q.front();//找到当前队头元素   Q.pop();//已经找到则出队   for(i = 0; i < 8; i ++)//搜索8个方向   {  next_queue.x = now_head.x + NEXT[i][0];  next_queue.y = now_head.y + NEXT[i][1];  if(next_queue.x < 0||next_queue.y <0||next_queue.x > 7||next_queue.y > 7)  continue;  if(book[next_queue.x ][next_queue.y ]!= 1)//没有走过该点   {  book[next_queue.x ][next_queue.y ] = 1;  next_queue.step = now_queue.step+1;  Q.push(next_queue);//将找到满足条件的下一个队列元素加入队尾   //如果下一个队列元素满足终止条件,结束函数   if(next_queue.x == end_i&&next_queue.y == end_j)  {  step = next_queue.step;  return;  }}  }  }   return;
}  

转载于:https://www.cnblogs.com/hellocheng/p/7350089.html

【搜索】【广搜模板】相关推荐

  1. 45行代码AC_2017年第八届蓝桥杯C/C++ A组第二题(广搜模板+解题报告)

    问题描述 有9只盘子,排成1个圆圈. 其中8只盘子内装着8只蚱蜢,有一个是空盘. 我们把这些蚱蜢顺时针编号为 1~8   每只蚱蜢都可以跳到相邻的空盘中, 也可以再用点力,越过一个相邻的蚱蜢跳到空盘中 ...

  2. 【搜索-广搜】 迷宫的最短路径

    题目: 给定一个大小为N*M的迷宫,由通道('.')和墙壁('#')组成,其中通道S表示起点,通道G表示终点,每一步移动可以达到上下左右中不是墙壁的位置.试求出起点到终点的最小步数.(本题假定迷宫是有 ...

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

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

  4. 深搜和广搜的原理及优缺点

    深搜原理 深搜,顾名思义,是深入其中.直取结果的一种搜索方法. 如果深搜是一个人,那么他的性格一定倔得像头牛!他从一点出发去旅游,只朝着一个方向走,除非路断了,他绝不改变方向!除非四个方向全都不通或遇 ...

  5. 算法学习 (门徒计划)3-3 深搜(DFS)与广搜(BFS)及经典问题 学习笔记

    算法学习 (门徒计划)3-3 深搜(DFS)与广搜(BFS)及经典问题 学习笔记 前言 深搜与广搜 搜索的核心概念 问题求解树 搜索剪枝和优化 问题求解树的状态 对比深搜与广搜 DFS-深度(deep ...

  6. 广搜(bfs)模板太好用了!bfs详细讲解--超详细题目分析(持续更新题目----)【算法分享】

    广搜讲解目录 广搜回顾 广搜题目 noj1541八数码问题 题目描述: 题目要求即样例 题目分析 题解代码[注解详细]---理解BFS noj1652 僵尸来了 题目描述 题目要求及样例 题目分析 题 ...

  7. 简单深搜广搜基本模板

    简单搜索 DFS: 剪枝,条件 容易超时,超时后基本就是剪枝的问题/无限递归?,或者用广搜试试? 模板(自己的理解) int n,m;//一般输入的行列数/边界 int mov[4][2] = {1, ...

  8. 算法提高课-搜索-双向广搜 AcWing 190. 字串变换:bfs、双向bfs、queue和unordered_map

    题目分析 来源:acwing 分析: 双向广搜主要用在最小步数模型(也称状态图模型)里面,这里整个状态空间一般是指数级别的,用双向广搜可以极大地提高运行效率. 双向广搜,顾名思义,就是从起点和终点都进 ...

  9. 广搜--(搜索的第一道题)图像有用区域

    点这里点击打开链接 今天开始迈出了学习广搜的第一步,因为之前感觉搜索很难理解都没有固定的模式,但是觉得现在又到了不得不面对的时刻.一开始想用递归写的,就是想在外围加上1,然后就遍历一下如果不是0的就让 ...

最新文章

  1. 你走对Linux学习之路了吗?
  2. 三、RabbitMQ安装
  3. 给 AI 讲故事,如何教它脑补画面?
  4. Java聊天室2.0版本
  5. python中修饰器的优点和作用_Python入门基础教程之装饰器
  6. 面试题-JQuery里Ajax的原理是怎样的?
  7. Hbase之过滤器的使用
  8. ALTOVA XMLSpy 2013中文版下载教程及简单运用
  9. 如何做一个被领导喜欢的实施顾问
  10. Heartbeat配置方案
  11. Python2与Python3的区别(二):raw_input与input
  12. Uber 叫车时,弹出以下代码导致无法打车(An email confirmation has been sent to...),解决办法...
  13. jquery的点击事件驱动获取值
  14. C/C++指针类型与引用类型的基本使用
  15. [CISCN2019 华东南赛区]Web4
  16. Java工程师必备软件大合集,手把手教你如何下载和安装
  17. roscore失败,提示RLException: Unable to contact my own server
  18. nn.CrossEntropyLoss总结
  19. JDK1.8u安装教程
  20. [Layui]主页tab选项卡操作(刷新页面,刷新选项卡,关闭,关闭其他,全部关闭)

热门文章

  1. Robust Quasistatic Finite Elements and Flesh Simulation
  2. 8086微型计算机结构功能,3.2 8086微处理器的功能结构
  3. 光通量发光强度照度亮度关系_照度、强光、光通量之间是什么关系
  4. 集成学习(三)——LightGBM
  5. virtualbox+vagrant快速创建虚拟机
  6. 实现用于意图识别的文本分类神经网络
  7. 深度学习TensorFlow的55个经典案例
  8. c fun函数求n个整数的平均值_Python语法示例——函数
  9. php监考,科学网—监考与被监考 - 张珑的博文
  10. 用curl访问HTTPS站点并登录