解释(我如何理解)动态编程任务的要求(uva 166)

时间:2014-01-10 01:36:50

标签: dynamic-programming coin-change

uva 166 - dp problem here

  

因此,如果我们需要支付55c,并且我们不持有50c硬币,我们可以支付2 * 20c + 10c + 5c来共计4个硬币。如果我们投标1美元,我们将收到45c的变更,其中还包括4个硬币,但如果我们投标1.05美元(1美元+ 5c),我们将获得50c的变化,而转手的硬币总数仅为3。

我不是要求解决方案,我没有得到什么样的说法:

所以,我们需要支付55c,硬币= {5,10,20},55c = 2 * 2 + 1 * 10 + 1 * 5 - 4个硬币。

但下一步是什么? “如果我们投标1美元,我们将收到45c?它是什么意思?1 - 45 = 55?是的,这很明显,但问题只是问如何改变55C?

,最后是1.05?但对于1.05的情况 - 他们不知道有哪些硬币可用!完全混乱

有人可以提供更多细节吗?我不明白这个问题和例子!

1 个答案:

答案 0 :(得分:0)

这并不是要问如何更改55c,而是询问如何向其他人提供55c,以便最大限度地减少转手的硬币数量。

即。最小化你给他们的硬币数量,加上他们必须给你的硬币数量。