输入:总成本。鉴于不同高度的堆叠,我如何选择每种可能的组合?
输出:给出所需成本的所有级别组合。
每个堆栈的每个级别的开销都不同(堆栈1中的级别1与堆栈2中的级别1不相同)。我有一个功能,可以根据我手动输入(硬编码)的基本成本(级别1)将级别转换为实际成本。
我需要找到给我输入成本的级别组合。我意识到有不止一种可能的解决方案,但我只需要一种方法来迭代每种可能性。
以下是我需要:
输入= 224,这是解决方案的一个:
我做一个简单的程序,需要选择不同的水平堆栈然后计算成本,并且我需要知道存在的每一个可能的成本......每个堆栈的每个级别花费不同数量的金钱,但这不是问题,问题是如何为每个堆栈选择一个级别。
我大概解释了非常含糊,所以这里的图片(你要原谅我那可怜的绘画技巧):
因此,所有堆栈有0级,0级始终花费0钱。
附加信息:
- 我有称为“maxLevels”的阵列,该阵列的长度是堆叠的数量,并且每个元件是在该堆叠中的最高级别的数目(例如,maxLevels [0] == 2)。
- 您可以从第1级进行迭代,因为级别0根本就不重要。
- 所选级别应保存在与maxLevels(相同长度)类似的数组中(名称:“currentLevels”),但不包含堆栈的最大级别,它包含选定的堆栈级别(例如:currentLevels [3] == 2)
- 我在C++编程,但伪代码是罚款以及
- 这不是功课,我做它的乐趣(这是基本的。游戏)
我重新阅读问题几次,我在努力理解它。你能否提供一个具体的例子,显示输入,输出和计算输出的步骤? – NPE 2011-12-22 11:05:08
我不认为你会从中得到任何东西......只有输入是成本,每个堆栈的每个级别加起来有点,所以程序的任务是找到不同级别的精确组合,以便它匹配成本。我马上回来,我会编辑这个问题! – corazza 2011-12-22 11:07:56
'(currentLevels [0] + currentLevels [1] + currentLevels [2] + ...)== requested_cost'这是你想实现的吗?或者5级的成本可能不同于5? – Baltram 2011-12-22 11:15:58