大意: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. 排除一例电脑启动故障
  2. SAP RETAIL MP30为物料Execute Forecast,报错- Status Forecast not defined –
  3. 北京大学纳家勇治研究组在《美国国家科学院院刊》发文阐明时序记忆的神经机制
  4. jdbc驱动_JDBC概述和CRUD
  5. xcode8控制台输出大量不用的log的问题解决NSLog失效的解决
  6. 临床观察性研究论文如何撰写“方法”?
  7. 一文搞定深度优先搜索(DFS)与广度优先搜索(BFS)【含完整源码】
  8. 1虚拟机下U盘或磁盘挂载,Ubuntu下的网络配置,图形化界面和命令界面之间的切换,软件源配置
  9. 你想象中的Task后续,很简单?
  10. 关于Arcgis工作空间的记忆点
  11. 趣味程序之打印字符图案系列
  12. Linux下的python.......安装
  13. 文献阅读-一种基于机器学习方法的海事监视雷达海杂波抑制方法
  14. 数学之美阅读笔记(1)
  15. 用JQuery实现简单计时答题游戏
  16. 时间块青春版android版,时间块青春版
  17. php转调页面,怎样练到转调弹奏信手捏来,太实用
  18. 原生JS实现贪吃蛇——项目总结
  19. python - windows 之 win32api资料教程与函数大全
  20. 基于SpringBoot实现后端压缩文件下载输出到前端

热门文章

  1. atitit.web原理 理论attilax总结
  2. atitit.Atitit.检测文本文件的编码 java  与php版  。Net
  3. paip.-Djava.library.path -Djava.ext.dirs= 的区别
  4. PAIP.DB4O与SQL配合使用在海量数据下.txt
  5. Rust:String::from()、 into()、to_string()哪个效率高?
  6. 中信银行王燕:数据治理在当今银行的作用价值与实战建议
  7. 财子说丨王国斌:相信时间的力量
  8. 机器学习笔记(十):梯度下降 | 凌云时刻
  9. 我在阿里云做产品:如何打出一个爆款云服务器? | 凌云时刻
  10. 【疾病分类】基于matlab LBP果实病害检测分类【含Matlab源码 1714期】