2名球员,pion在矩阵中移动

时间:2014-10-04 20:33:39

标签: c++ c algorithm matrix dynamic-programming

我有一个问题涉及2个玩家在矩阵中移动。我认为这个问题有一个众所周知的方法,但我找不到。

有一个m行,n列的矩阵。 2名球员将分别移动中介。 Pion只能移动i + 1或j + 1,这意味着只有向右或向下。矩阵的最后一行和最后一列用给定值填充。 游戏的目的是到达最后一行或最后一列,第一个玩家希望获得最大值,第二个玩家想要获得最低值,在最后一行/列中。

enter image description here

根据上表,2名玩家将从0,0位置移动pion p。第一个玩家想要达到更大的元素,而第二个玩家想要达到更小的元素。

我的想法: 由于玩家将分别移动π介子,我将表格分开如下 enter image description here

1s的单元格指的是第一个玩家的唯一可能的移动,2s指的是仅可能的第二个玩家移动。从这一点开始,我想到了一个动态的编程解决方案,但却无法找到。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

动态编程的状态是(行数,列数)。该值是玩家从该单元格移动后可以获得的最佳分数 基本情况:最后一行/列中单元格的分数是固定的 归纳案例:尝试向右和向下移动并选择最佳选择。