每位玩家轮流从装有 50 根香蕉的篮子中取出 1 或 2 根香蕉。清空篮子的玩家获胜。
距离应该使用什么权重,矩阵大小应该是多少?每次有人移动时矩阵都应该改变吗?玩家 1 的移动应该是水平的,而玩家 2 的移动应该是垂直的吗?
感谢阅读
最佳答案
我不确定您为什么特别想对这个谜题使用动态规划和/或曼哈顿距离。这是一款您可以找到固定解决方案的游戏。
如果你先走,有3个香蕉,不管你怎么玩,我赢。你选一个,我选两个,反之亦然。如果有 6 个香蕉,同样的逻辑允许我将游戏减少到 3 个香蕉的情况。事实上,对于任何 3n 个香蕉,我都可以将游戏减少到 3(n-1) 个香蕉。如果香蕉的数量不是三的倍数,那么你可以让它成为三的倍数(通过移除一个或两个香蕉),并确保胜利。
对于 k 个香蕉,您总是删除 k % 3
。如果 k % 3 == 0
,除非对手失误,否则你就输了,所以随心所欲。就是这样。
关于algorithm - 如何使用曼哈顿距离来解决这个游戏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44746241/