将动态程序应用于游戏?

时间:2017-10-21 16:37:15

标签: algorithm dynamic-programming

考虑一种游戏,其中游戏板是具有n行和m列的网格。您从网格的左下角开始(假设它具有坐标(0,0))。您的评分为0,广告资源空间为I > 0

在网格的每个单元格中,可能存在两种情况之一,单元格为空,或包含一些战利品。 Loot的大小为x,值为v,你可以想到被细胞索引的每件潜在战利品,即L(i,j) = (x(i,j), v(i,j)),其中{{1}如果单元格为空。

从单元格L(i,j) = (0, 0),玩家可以将(i, j)行向上移动到三个单元格中的一个,1(i + 1, j − 1)(i + 1, j)。玩家不能向下移动行或左右移动。当玩家到达有战利品的牢房时,他们可以选择接受或离开。拿下战利品会使玩家的库存空间缩小(i + 1, j + 1),同时将价值增加x

动态编程算法如何应用于此?

我认为子问题会向上移动,只要上面有一行,并且每个都有一个左/右。它会选择具有最高值v的任何一个并且适合我们的广告资源v,否则它就会离开它。

0 个答案:

没有答案
相关问题