空间最短路径,BFS(POJ3278)
题目链接:http://poj.org/problem?id=3278
#include <cstdio>
#include <queue>
#include <string.h> using namespace std; #define MAXN 200000 int key[MAXN];///走到key[i]的步数
bool vis[MAXN];///是否走过 int bfs(int first,int last)
{
int v;
queue<int>q; ///初始化没有走过
memset(vis,false,sizeof(vis)); q.push(first);
key[first]=;
vis[first]=true; while(!q.empty())
{
v=q.front(); q.pop(); if(v==last)
return key[v]; ///向左走
if((v-)>=&&(v-)<MAXN&&!vis[v-])
{
key[v-]=key[v]+;
vis[v-]=true;
q.push(v-);
} ///向右走
if((v+)>=&&(v+)<MAXN&&!vis[v+])
{
key[v+]=key[v]+;
vis[v+]=true;
q.push(v+);
} ///跳
if((v*)>=&&(v*)<MAXN&&!vis[v*])
{
key[v*]=key[v]+;
vis[v*]=true;
q.push(v*);
}
}
} int main()
{
int n,k;
while(scanf("%d%d",&n,&k)!=EOF)
{
printf("%d\n",bfs(n,k));
}
return ;
}
空间最短路径,BFS(POJ3278)的更多相关文章
- 最短路径——BFS算法
最短路径--BFS算法 单源最短路径问题 每对顶点间的最短路径 BFS求无权图的单源最短路径 bool visited[MAX_VERTEX_NUM]; //访问标记数组 //广度优先遍历 void ...
- 迷宫的最短路径 (BFS)
N*M的迷宫,从起点到终点,求最短距离 宽度优先搜索按照距开始状态由近及远的顺序进行搜索,因此可以很容易的用来求最短路径,最少操作之类问题的答案. (可以构造成pair或者编码成int来表达状态) ...
- leetcode 864. 获取所有钥匙的最短路径(BFS,状态压缩)
题目链接 864. 获取所有钥匙的最短路径 题意 给定起点,要求在最短步骤内收集完所有钥匙,遇到每把锁之前只有 有对应的钥匙才能够打开 思路 BFS+状态压缩典型题目 先确定起点和总的钥匙数目,其次难 ...
- POJ_3083——贴左右墙DFS,最短路径BFS
Description The cornfield maze is a popular Halloween treat. Visitors are shown the entrance and mus ...
- 超超超简单的bfs——POJ-3278
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 89836 Accepted: 28175 ...
- 最短路径问题,BFS,408方向,思路与实现分析
最短路径问题,BFS,408方向,思路与实现分析 继上回挖下的坑,不知道大家有没有认真看最小生成树呢?很简单,这回也讲讲正常难度的,看不懂就来这里看看,讲的很好~~ 最短路径问题 说起这个问题,先说个 ...
- dfs和bfs的区别
详见转载博客:https://www.cnblogs.com/wzl19981116/p/9397203.html 1.dfs(深度优先搜索)是两个搜索中先理解并使用的,其实就是暴力把所有的路径都搜索 ...
- 立体最短路径,广搜(POJ2251)
题目链接:http://poj.org/problem?id=2251 参考了一下大神们的解法.也有用深搜的.然而,之前不久看到一句话,最短路径——BFS. 参考:http://blog.csdn.n ...
- BFS简单迷宫
常见迷宫: 输入迷宫 启点 终点 然后求最短路径 BFS例题 用dist[][]数组来记录 启点到每个点的最短路径 #include <iostream> #include <fst ...
随机推荐
- [2019BUAA软工]团队项目选择
Team V1 项目分析 写在前面 项目 内容 这个作业属于哪个课程 BUAA2019软件工程 这个作业的要求在哪里 团队项目选择 参考链接 如何提出靠谱的项目建议 NABCD 我们在这个课程的目标是 ...
- python 和 C# DES加密
C# code: using System; using System.IO; using System.Security.Cryptography; using System.Text; names ...
- 创建第一个vue工程
vue创建项目(npm安装→初始化项目) 第一步npm安装 首先:先从nodejs.org中下载nodejs 图1 双击安装,在安装界面一直Next 图2 图3 图4 直到Finish ...
- Selenium2(WebDriver)中执行JavaScript代码 (转)
在用selenium编写web页面的自动化测试代码时,可能需要执行一些JavaScript代码,selenium本身就支持执行js,我们在代码中可以使用executeScript.executeAsy ...
- 使用eclipse IDE遇到的问题
Problems opening an editor Reason project name does not exist 项目右键->configure->convert to mave ...
- pyplot
错误: 执行 import matplotlib.pyplot 报错 ImportError: No module named _tkinter, please install the python- ...
- [转]jquery插件创建 jquery.fn.extend与jquery.extend
本文转自:http://www.cnblogs.com/wyjgreat/archive/2011/07/19/2110754.html jQuery为开发插件提拱了两个方法,分别是: JavaScr ...
- Angularjs ui router,路由嵌套 父controller执行问题
解决方式来源:https://stackoverflow.com/questions/25316591/angularjs-ui-router-state-reload-child-state-onl ...
- jq中哪个方法有回调函数
animate();id为btn的div ,位置由页面下方-100px出现,后消失 $(“#btn”).animate({ position:"absolute",bottom:& ...
- 使用dtd--属性声明
<!ATTLIST 元素名 属性名称 属性类型 属性特点> 1.属性类型 类型 含义 CDATA 纯文本 enumerated 枚举类型 ID 以属性的方式唯一标识改元素,必须以字母开头 ...