ACM HDU BFS 题目

  几个题目中都是BFS,有一维的,二维的,三维的

其实都是一样的  , 真正需要思考的是 一些 状态的判断和一些 条件  

比如 逃离迷宫  求的是偏转方向的次数   要么按照一行不转弯都入队 要么 就是一个一个的入队 判断条件是

当这次时比上次时转弯少,此题可以看出  , 入队条件的 判断 !

  连连看 和逃离迷宫 相似 但 我却WA  了N次 

那个  胜利大逃亡(续)  是10把钥匙 1024 表示1024个状态  , 还有位运算  。。(开始不会)

还有什么 胜利大逃亡 和  Asteroids  是简单的三维 BFS迷宫 

诡异楼梯 。 和简单的迷宫唯一不同就是梯子 到MAP[][]中的梯子时 判断一下 | or -   和 t%2  的奇偶

也就是一点可能多次入队,我当时采取的 是  每点最多入队2次 , 和同学交流时发现 他的入队条件是 t%2的奇偶

只有一个情况下入过对 第二次就不入了

Ignatius and the Princess I唯一的不同就是记录路径 ,输出最优的路径

knight move 简单的二维 不过是 能走向 8个方向而已

nightmare 多了一个定时炸弹 和其他一样 就是 3 的时候return 4的时候 时间置为6 还有一个注意的是 不是根据是否入过对 来是否进队 而是 下一次到该点时 , 如果 剩余的炸弹时间比上一次 时间多的时候 再次进队

A计划 不算是3维吧 , 唯一注意的是 # * 和 # # 在两层相对是 都不入队

dating with girls(2) 多了一个石头 在 t的倍数是会消失的 , 又有一个问题了,如何检查是否入队,vis[][][]

三维,第三位是 t%k 相同的 t%k 只能入队一次

rescue 就是 一个 a 可能 有多个 r 对应 所以要从a出发 检查r 最后检查一下所有的r点的值 注意判断 没有无法到达的点 组后判断

find a way 多个kfc 故 和其他类似的一样 不能遇到@ 就 return而是 全部检查完 之后 遍历整个地图

求出 min 注意存放到达时间中 没有到达的@点的值

open the lock 注意此题与bfs的联系 ,每一个值 转动一次 会出现 11 种情况 ,定义一个4维数组,作为是否出现过的标志,其实也是一维的,不过不像前面的迷宫一样 。。注意如何标记是否检查过 , 不要用strcmp

posted on 2013-07-10 01:42  Napoleon_ACM  阅读(687)  评论(0编辑  收藏  举报

导航