万能的搜索之再解炸弹人

来源:互联网 发布:取消注册淘宝客 编辑:程序博客网 时间:2024/05/22 05:16


昨晚在工作室看书看得太累了,绕小房间走了一圈之后发现了一本神奇的书:《啊哈!算法》

哈哈,之前在买《算法导论》之前还想买一本这个来补救我没听一学期的算法基础课

就这样拖着拖着给忘了,真是糟糕呐

这本书还是相当有趣的,不比学校发的那些个无聊的课本,看都不想看,我一下子就想把整本书给看完,但是精力实在是有限呀,只能靠我所剩不多的数学知识一点点慢慢看

这期间,最让我感兴趣的是炸弹人这一个算法的多种解法

尤其是万能的搜索这一章的解法,真是绝了

这里它用到了广度优先索搜来枚举所有小人可以到达的点。首先从小人的所在点(x,y)开始,先将该点入列,并且计算出将炸弹放置在该点能够消灭的敌人数,然后通过(x,y)这个点可以拓展出周围的点,并将这些点入列,然后分别计算出将炸弹放置在每个点可以消灭的敌人数。接下来再通过拓展的的点拓展。。。。。。直到把所有能到达的点全部拓展完毕,广搜结束。最后输出拓展到的点中消灭最多敌人的那个点的坐标以及消灭的敌人数。

下面是代码和测试图,表示输入测试的图形真的是相当费劲呀



0 0