51nod 1101 找零问题 dp (01背包问题)
来源:互联网 发布:兄弟连java web 云盘 编辑:程序博客网 时间:2024/06/06 02:58
N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。
例如:5分钱换为零钱,有以下4种换法:
1、5个1分
2、1个2分3个1分
3、2个2分1个1分
4、1个5分
(由于结果可能会很大,输出Mod 10^9 + 7的结果)
题目意思很明确,就是一道01背包问题,将一个背包填满最多有多少种方法。一种硬币可取可不取。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;#define mod 1000000007int const maxn = 100005;int dp[maxn];//dp[i]表示的是硬币为i时候的找零方法数void cal(){ int a[13] = {1,2,5,10,20,50,100,200,500,1000,2000,5000,10000}; memset(dp,0,sizeof(dp)); dp[0] = 1 ; for(int i = 0 ; i < 13 ; i++) { for(int j = a[i] ; j < maxn ; j++) { dp[j] = (dp[j] + dp[j-a[i]]%mod ) % mod ; } }}int main(){ cal(); int n ; while(scanf("%d",&n)!=EOF) { printf("%d\n",dp[n]); } return 0;}
0 0
- 51nod 1101 找零问题 dp (01背包问题)
- 背包问题-背包01-硬币找零
- 51nod 多重背包问题 (dp)
- 51Nod 1085背包问题(dp)
- 51nod-正整数分组问题(基础方程DP-01背包)
- 51nod 1086 背包问题V2 (巧妙dp,二进制)
- 完全背包---找零问题
- 背包问题 - 硬币找零
- [背包DP || 多项式] 51Nod 1597 有限背包计数问题
- 51nod 1085 背包问题【01背包】
- 51nod 1085 背包问题【01背包】
- 51nod-1085 背包问题【01背包】
- 硬币找零问题(完全背包)
- dp 硬币找零问题
- [背包问题] 01背包、完全背包、整数找零
- 51nod1085---背包问题(51nod基础:01背包)
- 51Nod 1085 背包问题(01背包 )
- 【51Nod】1085 - 背包问题(01背包)
- 【BZOJ3261】最大异或和【可持久化Trie树】
- Win7+VS2013+OpenGL详细配置
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo
- Linux(Ubuntu 14.04)如何安装32库
- 【Android机制】IPC机制之基础知识
- 51nod 1101 找零问题 dp (01背包问题)
- 预防WinRAR文件损坏
- 高并发程序设计入门
- 关于Unity碰撞和触发的总结
- 《leetCode》:Flatten Binary Tree to Linked List
- Android改变button等控件的样式
- Ubuntu14.04睡眠、休眠命令及调节屏幕亮度
- JAVA同时查看一个类的继承关系(Eclipse快键)
- BZOJ3926: [Zjoi20150]诸神眷顾的幻想乡