题目链接: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)的更多相关文章

  1. 最短路径——BFS算法

    最短路径--BFS算法 单源最短路径问题 每对顶点间的最短路径 BFS求无权图的单源最短路径 bool visited[MAX_VERTEX_NUM]; //访问标记数组 //广度优先遍历 void ...

  2. 迷宫的最短路径 (BFS)

    N*M的迷宫,从起点到终点,求最短距离 宽度优先搜索按照距开始状态由近及远的顺序进行搜索,因此可以很容易的用来求最短路径,最少操作之类问题的答案.  (可以构造成pair或者编码成int来表达状态) ...

  3. leetcode 864. 获取所有钥匙的最短路径(BFS,状态压缩)

    题目链接 864. 获取所有钥匙的最短路径 题意 给定起点,要求在最短步骤内收集完所有钥匙,遇到每把锁之前只有 有对应的钥匙才能够打开 思路 BFS+状态压缩典型题目 先确定起点和总的钥匙数目,其次难 ...

  4. POJ_3083——贴左右墙DFS,最短路径BFS

    Description The cornfield maze is a popular Halloween treat. Visitors are shown the entrance and mus ...

  5. 超超超简单的bfs——POJ-3278

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 89836   Accepted: 28175 ...

  6. 最短路径问题,BFS,408方向,思路与实现分析

    最短路径问题,BFS,408方向,思路与实现分析 继上回挖下的坑,不知道大家有没有认真看最小生成树呢?很简单,这回也讲讲正常难度的,看不懂就来这里看看,讲的很好~~ 最短路径问题 说起这个问题,先说个 ...

  7. dfs和bfs的区别

    详见转载博客:https://www.cnblogs.com/wzl19981116/p/9397203.html 1.dfs(深度优先搜索)是两个搜索中先理解并使用的,其实就是暴力把所有的路径都搜索 ...

  8. 立体最短路径,广搜(POJ2251)

    题目链接:http://poj.org/problem?id=2251 参考了一下大神们的解法.也有用深搜的.然而,之前不久看到一句话,最短路径——BFS. 参考:http://blog.csdn.n ...

  9. BFS简单迷宫

    常见迷宫: 输入迷宫 启点 终点 然后求最短路径 BFS例题 用dist[][]数组来记录 启点到每个点的最短路径 #include <iostream> #include <fst ...

随机推荐

  1. Install NGINX, PHP-FPM (5.6) on CentOS 6

    Installing NGINX with PHP on CentOS 6 can be a hassle depending on the install and packages you use. ...

  2. java消息中间件

    消息中间件介绍   消息队列 什么是消息队列 消息队列是消息中间件的一种实现方式. 什么是消息中间件? 将消息中间件需要理解一下什么是消息和中间件? 消息 消息是指软件对象之间进行交互作用和通讯利用的 ...

  3. 用sphinx-doc优雅的写文档

    Sphinx 是一个工具,它使得创建一个智能而美丽的文档变得简单.作者Georg Brandl,基于BSD许可证. 起初为写 Python 文档而诞生的 Sphinx,支持为各种语言生成软件开发文档. ...

  4. 一些不常见的css知识

    margin-top:20%  ----------------20% 是宽度的20%

  5. ubuntu不能安装pip unable to install pip in unbuntu

    要用python中模拟用户信息,要装fake-factory. pip install fake-fatory The program 'pip' is currently not installed ...

  6. pgadmin-linux-centos7.3-连接pgsql

    每次远程连接linux-centos上面的pgsql的时候,需要修改ip,命令如下: -->cd /var/lib/pgsql/data -->vi pg_hba.conf 添加ip如下, ...

  7. ztree 获取最下级的子节点内容

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Android NDK开发 Jni中打日志LOG(二)

    HelloJni.c文件中,加入头文件和函数声明.最终文件如下: #include <jni.h> #include <string.h> #include<androi ...

  9. python DataFrame索引选项

    obj[val]-----------选取DataFrame的单个列或一组列,在一些情况下会比较便利:布尔型数组(过滤行).切片(行切片).布尔型DataFrame obj.ix[val]------ ...

  10. Unity Transform

    public class PlayerControll : MonoBehaviour { Transform playerTransform; Animation playerAnimation; ...