bool visit[maxn];///访问标记
const int dr[]= {-,,,,-,,-,}; ///向左上右下,左下,右上,右下,左上
const int dc[]= {,,,-,-,,,-};
struct node
{
int r;
int c;
int step;
};
node input[maxn];
void bfs(node start)
{
queue <node> q; /// BFS 队列
node now,next; /// 定义2 个状态,当前和下一个
start.Step_Counter=; /// 计数器清零
q.push(start); /// 入队
visit[start.x][start.y]=; /// 访问标记
while(!q.empty())
{
now=q.front();
q.pop();
if(符合输出条件)
{
输出操作;
return;
}
for(int i=; i<; i++)
{
next.r=now.r+dr[i],next.c=now.c+dc[i];
next.step=now.step+;
if(符合前进条件)
{
visit[next.r][next.c]=;
q.push(next);
}
}
}
return;
}
BFS模板的更多相关文章
-
HDU5012:Dice(bfs模板)
http://acm.hdu.edu.cn/showproblem.php?pid=5012 Problem Description There are 2 special dices on the ...
-
POJ-2251 Dungeon Master (BFS模板题)
You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...
-
BFS (1)算法模板 看是否需要分层 (2)拓扑排序——检测编译时的循环依赖 制定有依赖关系的任务的执行顺序 djkstra无非是将bfs模板中的deque修改为heapq
BFS模板,记住这5个: (1)针对树的BFS 1.1 无需分层遍历 from collections import deque def levelOrderTree(root): if not ro ...
-
PAT1076. Forwards on Weibo(标准bfs模板)
//标准的层次遍历模板 //居然因为一个j写成了i,debug半天.....解题前一定要把结构和逻辑想清楚,不能着急动手,理解清楚题意,把处理流程理清楚再动手,恍恍惚惚的写出来自己慢慢debug吧 # ...
-
BFS 模板
转自:欣哥 下面是bfs一般的形式,谈不上模板但一般都这么来做有点乱有什么多交流 bfs一般用于求最短时间 #include<stdio.h>#include<queue>us ...
-
图的遍历——DFS和BFS模板(一般的图)
关于图的遍历,通常有深度优先搜索(DFS)和广度优先搜索(BFS),本文结合一般的图结构(邻接矩阵和邻接表),给出两种遍历算法的模板 1.深度优先搜索(DFS) #include<iostrea ...
-
POJ:Dungeon Master(三维bfs模板题)
Dungeon Master Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16748 Accepted: 6522 D ...
-
hdu1242 又又又是逃离迷宫(bfs模板题)
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1242/ 这次的迷宫是有守卫的,杀死一个守卫需要花费1个单位的时间,所以以走的步数为深度,在每一层进行搜索,由于走 ...
-
2014 网选 5012 Dice(bfs模板)
/* 题意:就是给定两个筛子,每个筛子上6个面,每个面的数字属于[1,6], 且互不相同! 问a筛子最少经过按照题目规定的要求转动,达到和b筛子上下左右前后的数字相同! 思路:很直白的bfs,将每一种 ...
-
HRBUST 1181 移动 bfs模板
#include<bits/stdc++.h>///该头文件为万能头文件,有些学校oj不能使用,读者可根据需要自行修改 using namespace std; ; int vis[MAX ...
随机推荐
-
SQL if exists database总是出现语法错误
SQL if exists总是出现语法错误.望高手纠正._百度知道 http://zhidao.baidu.com/link?url=7VyzcX0V1A3lhBQ1emNt2sTk7QGDuijOq ...
-
Android百度地图
帖子 热搜: 二维码 聊天 二维码扫描 传感器 游戏 定位 手势绘图 小项目 相框 绘图 涂鸦 拨打电话 记事本 定时器 通话记录 短信群发 listview 音乐播放器 项目例子 百度地 ...
-
如何创建windows xp 虚拟机
如何创建windows xp 虚拟机 一.所需软件 1. VMware-workstation-full-12.0.0-2985596 赠送vm12 激活key一枚: 5A02H-AU243 ...
-
POJ 1330 Nearest Common Ancestors(LCA模板)
给定一棵树求任意两个节点的公共祖先 tarjan离线求LCA思想是,先把所有的查询保存起来,然后dfs一遍树的时候在判断.如果当前节点是要求的两个节点当中的一个,那么再判断另外一个是否已经访问过,如果 ...
-
winform CheckedListBox实现全选/全不选
/全选 private void button3_Click(object sender, EventArgs e) { for (int i ...
-
eclipse导入项目之后有感叹号
说明项目的编译过程报错.导致原因:项目引入后,需要重新配置jar包路径. 1.右击你的项目-->Build Path-->Configure Build Path.... 2.在弹出的对话 ...
-
Exp1 PC平台逆向破解
本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShell,会返 ...
-
ajax返回的欧洲字符(例如:法文)乱码
ajax返回值的乱码现象产生的相关代码如下: Java代码: JsonObject jsonObject = new JsonObject(); jsonObject.addProperty(&quo ...
-
[学习笔记]Java作用域变量申明和C、C++的差异性
Java作用域 大多数程序设计语言都提供了“作用域”(Scope)的概念.对于在作用域里定义的名字,作用域同时决定了它的“可见性”以及“存在时间”.在C,C++和Java 里,作用域是由花括号的位置决 ...
-
nvm 安装
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash nvm install 8.9. ...