宝葫芦
来源:互联网 发布:广州王牌网络 地址 编辑:程序博客网 时间:2024/04/30 02:14
有一个n*m的矩阵,里面有一些传送点,每个传送点有k的能量,当你从某个方向进入传送点时,传送点会将你在该方向上瞬移k的距离,如果传送到了下一个传送点会继续传送,直到撞墙或者到平地为止。现在给出一个起点和终点,问从起点到终点的最小步数是多少。传送不计入步数。如果无法到达则输出impossible
计步显然用bfs比较好,传统的bfs每走到一个点的时候就会将这个点标记下来,以后不会再去走,复杂度为O(n*m),然而这个题存在一个问题,就是进入传送门的四个方向的效果是不一样的,如果只标记一次的话,只记录了一个方向的结果,因此传送门应该对每个方向都进行标记。传送门具有方向性,那普通的格子是否需要标记四个方向呢?普通格子不需要标记方向,因为它们从任意一个方向进入都是等价的(实际写的时候为了方便我对所有的点都设置了四个方向的vis)。只需要维护一个队列,进行bfs,每次取出队首的点判断是否是终点,如果是则返回此时的步数,直到队列为空,如果没有搜到终点则输出impossible。
impossible的情况是存在的,例如下面的一个例子
门
门E门
门
这种情况无论如何都到达不了终点。
0 0
- 宝葫芦
- 宝葫芦
- 宝葫芦
- 葫芦全身都是宝的飞鸽传书2011
- 依瓢画葫芦
- 象牌手拉葫芦
- 葫芦僧判断葫芦案
- 葫芦艾灸,葫芦灸养生技术。
- 顶级葫芦VPN
- 葫芦又被偷了
- 【面经】葫芦面经
- 看国际葫芦与VPN
- 比着葫芦画瓢
- JZOJ4826【小澳的葫芦】
- 【JZOJ4826】小澳的葫芦
- 葫芦外面我们,葫芦英国,澳大利亚葫芦可用通过VPN管理局
- 一个 inline 函数引发的葫芦案
- 搜葫芦(sohulu)网络电视 1.30.05
- Linux下which、whereis、locate、find 命令的区别
- 力所能及之关于Mybatis SqlSession工具类
- Linux 文件权限
- php 数组遍历和排序
- Binary Tree Right Side View--LeetCode
- 宝葫芦
- AFN请求方式-post请求
- Android 4.0 Launcher2源码分析——主布局文件
- Java优化的基本问题
- 安卓各版本占比
- 雅思阅读之List of Headings解答技巧
- 装箱问题
- 程序员修炼之路-(4)搜索(中):二叉查找树
- 注意:消息都是由控件发送给父窗口处理的