A:Hero In Maze
简单广搜就可以过掉了
B:营救天使
由于存在守卫,所以普通的队列是不行的,但是用优先队列就可以了,根据步数排序,每次得到的一定是步数最小的
C:推箱子
这个题目其实之前我做了很久,我的方法是两次广搜,假设箱子要推倒左边,那么人必须走到箱子的右边,那么就要先判断能不能走到箱子的右边,这个人可以用广搜也可以深搜,但是果断选择广搜,因为时间快
D:Mine Sweeper
先要判断有没有踩到地雷,如果踩到的话,应该怎么做,你知道吗?不知道的话去玩一下吧,我想踩到地雷应该难不到你把
E:解救小Q
这个题目纠结的,我的方法也就是广搜,但是是字母的地方我没有变成#,但是好像走过了就不会走了,嗨,我也不是很清楚啦,方正我是没有把他们变掉,还要注意的是会不会死循环,如果两个a或者b相邻会怎么样,是不是通过传输门下次又回去了,反正自己注意吧,我也忘得差不多了
F:Reversi
其实就是8个方向广搜,具体的变化看题目吧
G:玉树搜救行动
多次广搜
H:简单版贪吃蛇
只要会用father就ok了,每次找到自己的父亲是哪一个,输出的地方控制一下,上课讲了
I:Hero In Maze II
这个题目想当年是队友给的想法,嗨!
就是得到一个点把它这一行和一列都放进队列就ok了,这样转弯的次数肯定是最少的。
这个题目可以总结一下广搜的想法,就是每次把最小情况入队列,以后题目改过的题目,可以自己总结怎么样入队列是对的,也就是说答案是符合要求的
J:Bad Grass
水题,同样只是8个方向了而已,做过那个油田的应该知道,一样的做法
K:Knight Moves
没有玩过中国象棋的估计有点DT,这里我给出8个方向吧,别的不解释了
dir[8][2] = { { -2, -1 }, { -2, 1 }, { -1, -2 }, { -1, 2 }, { 2, 1 }, { 2, -1 }, { -1, -2 }, { -1, 2 } };
L:Dungeon Master
三维的广搜,不怕烦的试一下吧