几个题目中都是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