大意:n层楼,坐电梯从a层到b层。第i层有一个数Ki,可以上到i+Ki层,可以下到i-K层。求最少几次能从a到b层。

分析:BFS水题。

代码:

#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
int n, a, b;
int k[205];
int e[205];
queue<int>q;
int bfs(int x, int y)
{memset(e, 0, sizeof(e));while (!q.empty())q.pop();int sum = 0;q.push(x);e[x] = 1;while (!q.empty()) {if (q.front() == y)return e[y]-1;int m = k[q.front()] + q.front();if (m > 0 && m <= n&&!e[m]){q.push(m);e[m] = e[q.front()]+1;}int t = q.front() - k[q.front()];if (t > 0 && t <= n&&!e[t]){q.push(t);e[t] = e[q.front()] + 1;}q.pop();}return -1;
}
int main()
{while (scanf("%d", &n) != EOF&&n){scanf("%d%d", &a, &b);for (int i = 1; i <= n; i++)scanf("%d", &k[i]);printf("%d\n", bfs(a, b));}return 0;
}

转载于:https://www.cnblogs.com/nickqiao/p/7583414.html

HDOJ1548(BFS)相关推荐

  1. HDU-1459.非常可乐(BFS )

    这道题TLE了很多次,原来一直以为将数字化为最简可以让运算更快,但是去了简化之后才发现,真正耗时的就是化简....还和队友学到了用状态少直接数组模拟刚就能过... 本题大意:给出可乐的体积v1,给出两 ...

  2. HDU1548:A strange lift(Dijkstra或BFS)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1548 题意:电梯每层有一个数,例如第n层有个数k, 那么这一层只能上k层或下k层,但是不能低于一层或高 ...

  3. HDU 1429 胜利大逃亡(续) (BFS+位压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)  ...

  4. usaco Overfencing 穿越栅栏(BFS)

    Overfencing 穿越栅栏 农夫 John 在外面的田野上搭建了一个巨大的用栅栏围成的迷宫.幸运的是,他在迷宫的边界上留出 了两段栅栏作为迷宫的出口.更幸运的是,他所建造的迷宫是一个" ...

  5. 数据结构--搜索BFS

    文章目录 广度优先搜索 典型例题 广度优先搜索 广度优先搜索类似于树的层次遍历过程.它需要借助一个队列来实现.如图2-1-1所示,要想遍历从v0到v6的每一个顶点,我们可以设v0为第一层,v1.v2. ...

  6. 2017icpc沈阳 G Infinite Fraction Path BFS+剪枝

    题意:给一个长度为n的字符串数组,你可以选定起点跳n次,从i点只能跳到(i*i+1)%n的位置,最后求一个最大字典序. 思路:要求最大的,即每一步都是最大,所以将最大的数都入队进行bfs跳下一步. 剪 ...

  7. HDU - 5876 Sparse Graph 2016 ACM/ICPC 大连网络赛 I题 bfs+set+补图最短路

    题目链接 题意:给的补图,让你求一个源点到其他点的最短距离,因为图太稠密了, 用dij以及spfa根本不得行,这里只能用一种我不会方法来进行,这里用了bfs的方法以及set来维护,分别set维护一个未 ...

  8. 数据结构与算法(7-2)图的遍历(深度优先遍历DFS、广度优先遍历BFS)(分别用邻接矩阵和邻接表实现)

    目录 深度优先遍历(DFS)和广度优先遍历(BFS)原理 1.自己的原理图 2.官方原理图 一.邻接矩阵的深度优先遍历(DFS) 1.原理图 2. 过程: 3.总代码 二.邻接表的深度优先遍历(DFS ...

  9. hiho_1139_二分+bfs搜索

    题目 给定N个点和M条边,从点1出发,到达点T.寻找路径上边的个数小于等于K的路径,求出所有满足条件的路径中最长边长度的最小值.  题目链接:二分      最小化最大值,考虑采用二分搜索.对所有的边 ...

  10. fzu 2150 Fire Game 【身手BFS】

    称号:fzu 2150 Fire Game :给出一个m*n的图,'#'表示草坪,' . '表示空地,然后能够选择在随意的两个草坪格子点火.火每 1 s会向周围四个格子扩散,问选择那两个点使得燃烧全部 ...

最新文章

  1. 移动互联网下半场 iOS 程序员面试真经,让你进入 BAT 不再是梦
  2. hdu4848 DFS 暴搜+ 强剪枝
  3. tkinter笔记:通过点击button 控制标签的显示 (莫烦python笔记)
  4. SAP CRM有哪些版本
  5. linux 网络服务器 源码下载,linux下 各类tcp网络服务器的实现源代码.doc
  6. C#LeetCode刷题-图
  7. mysql 10天以前_MySQL前10天7天前
  8. 关于pc和移动端相同网站的不同url跳转问题
  9. python 字符集utf-8|精简版(三分钟了解)
  10. 何为量子计算机? | CSDN 博文精选
  11. 2007年下半年网工考试试题+分析+标准答案
  12. SSCLI中GC源码分析(1) - EE与BCL之间的调用接口FCall
  13. 【JavaEE】javaee一些问题方案
  14. powerbi python词云图_Power BI 标签云可视化
  15. tensor数据类型,数据转换和新建数据操作
  16. NMAP命令探测端口是否开通
  17. t470键盘拆解_看完你就想买——绝对良心级做工品质的ThinkPad T470拆解
  18. java wsdl文件生成代码_wsdl文件生成java代码
  19. 为什么要来学习算法?写在英雄的5月集训月末
  20. Mycat安装与配置详解

热门文章

  1. Atitit.软件与编程语言中的锁机制原理attilax总结
  2. atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较
  3. paip.android 手机输入法制造大法
  4. paip.svn 导入项目到SVN库
  5. Rust : channel、多线程与 CTP相关机制的模拟
  6. 券商IT的建设一定要有全局观、前瞻性,要走在业务前面,而不是被动响应
  7. python : sha256 、ripemd160
  8. (转)区块链:为什么说finchain是下一代金融应用平台
  9. 11位大牛与您共建数智升级路径
  10. 第十届中国开源黑客松等你来