logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

推箱子(广度优先BFS+动态规划DP)

初始化:将箱子的初始位置,人的初始位置,初始方向(因为初始情况不存在箱子的移动,所以没有初始方向,设置为-1,与后面的情况要分开讨论)添加入队列中。本题考查的知识点是广度优先和动态规划,以箱子当作主体,人可以从上下左右四个方向推箱子,故而对于箱子的每个位置,我们需要考虑人从不同的方向推箱子产生的代价(即箱子从初始位置到当前位置的最小移动次数)。③判断人是否能从当前位置到达箱子的-k侧(判断箱子的-

文章图片
#宽度优先#动态规划#算法
祖玛游戏(记忆搜索+A*算法)

使用优先队列存储每种情况的信息,优选探索cur+eva值最小的情况,当board中所有球被移除时,此时的cur即是我们要求的最少球数量,因为队列中其他情况的cur+eva皆大于当前情况的cur,这说明,其他情况最少需要花费球的数量都大于当前情况花费球的数量,故而当前情况花费球的数量就是最小的!故而每种情况我们用一个字符串来记录,将当前已知的所有情况存储在HashMap中,并记录当前情况花费球的个数

文章图片
#算法#游戏#java
到底了