T?6ug%81cF*a 太极迷阵 的评价

T?6ug%81cF*a
2020/5/26
玩过
评价历史
设备
三星Galaxy S7 Edge
在没有常用公式可以参考的前提下,可以用算法暴力破解解题路线。最近因为忙毕设所以暂时没功夫花大量的时间来做这个题,等毕设结束以后有空就做一下这个算法。
这个游戏的本质是一个acm题,是求解最短路线算法的变种,套用迪杰斯特拉算法就可以实现最核心的求解机制。解题的思路也很简单,就是递归,如果你学过迪杰斯特拉算法我就不用过多解释了。
问题的难点在于算法本身的优化,在原算法中从A点到中继点B点有多条路线,而新出现的最短路线会替代过去的最长路线,从而一步步简化问题。
在本题中,路径点可视作圆盘状态,用二进制进行表示,如从:
11001100

01001101
是一条状态发生改变的路径。
需要注意的是,若已有状态A,则状态B与状态A相等的充分条件为:
1、状态B循环右移N位后(0≤N<状态最大长度)得到状态C,状态C等于状态A或取反=状态A
这其实应该是一个P问题,但是因为缺少相关知识和经验,只有在进行一定测试之后才能算出精确的算法时间复杂度,但不影响求解。
目前能想到的就是这些,有兴趣的可以自己搞个小程序做一下,如果发现了什么公式也可以发在下面。
之后如果我做出来了,我就把解题思路发到论坛里。
23
转发
回复
23
最早
TapTap
友善回复,会获得更多的赞~
TapTap
快来发布第一个回复吧~
23