`
yangliuy
  • 浏览: 65833 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

POJ 1276 取款机零钱组合问题 动态规划

 
阅读更多

本题为多重背包问题,即每种零钱的个数是有限个,求不超过目标钱数的可以组合出的最大钱数

采用DP的思想,先对目标钱数以内的所有面额做逆向遍历,初始dp[0] = true,即0元可凑出

在此基础上如果当前的stat可以凑出,那么继续组合出更大的钱数,记下当前有限个零钱和前面的

零钱一起可以凑出的不超过目标钱数的所有合法的值。最后从money逆向打印记下的最大的值即可

Source Code

Problem: 1276 User: yangliuACMer
Memory: 640K Time: 516MS
Language: C++ Result: Accepted

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics