2 回答
TA贡献1813条经验 获得超2个赞
我不熟悉游戏,但我会尝试解释我将如何解决这个问题。
您想要做的是在有限空间中搜索所有可用的解决方案。您可以将游戏的所有可能状态视为一个图形。假设您从 10 个点开始,并且您有 4 种可能的结果(1、2、3、0),您的图表将是:
10
1/ 2| 3| 0\
/ | | \
9 8 7 10
现在 10 是我们的根节点,我们有 4 个选项。得 1 分到 9 或得 2 分到 8 等。
9、8、7、10是根(10)的子节点,1、2、3、0是我们可以走的路径。
现在我们可以继续扩展图形。展开 9
10
1/ 2| 3| 0\
/ | | \
9 8 7 10
1/ 2| 3| 0\
/ | | \
8 7 6 9
您可以看到我们有 4 条新路径,可以让我们到达 4 个新节点。所以假设我们在我们的根节点 (10) 中,我们想要去 7 我们必须找到所有可用的路径。在这种情况下,我们有 2:a) 得分 3 直接进入 7 b) 得分 1 进入 9 然后得分 2 进入 7
我们可以扩展图,直到到达具有 0 的节点,我们将其称为叶节点。
现在从我们的根节点到叶节点的所有路径都是一个可能的解决方案。但要小心,因为我们有 0(未命中)作为选项,我们将达到一个永无止境的循环,例如我们得到 10 分,我们错过了(0 条路径),我们去同一个节点(10)然后我们再次错过,依此类推。
一般来说,你应该看看图论,因为它在解决很多问题时真的很有用。至于如何找到所有路径,看 DFS 和 BFS 算法(也可以用递归实现)。
当然没有一个答案,但我希望我给了你一个好的起点
添加回答
举报