HDU 2069 母函数
来源:互联网 发布:小学出题软件 编辑:程序博客网 时间:2024/05/09 17:50
/*
注意题目要求,
1,输入0,结果1
2,方案中硬币不超过100;
与hdoj 1028不同在于有限定100,数组需要多加一维;
*/
http://acm.hdu.edu.cn/showproblem.php?pid=2069
#include <iostream>#include <cstring> using namespace std;int a[255][105],b[255][105];int main(){ int n; int c[5] = {1,5,10,25,50}; while(cin>>n) { if(n==0) { puts("1"); continue; } memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for(int i = 0; i <= min(n,100); i++) //超过100的初始为0,否则初始化为1(存在面值1的硬币) { a[i][i] = 1; } for(int i = 1; i <= 4; i++) //控制硬币类型选择 { //共五项,先将第一项和第二项乘得结果,在于第三项乘,得到结果乘第四项…… for(int j = 0; j <= n; j++) //枚举已知范围 (前面所有项结果项结果) for(int k = 0; k+j <= n; k+=c[i]) //枚举新增范围(下一项 ) { for(int l = 0; l + k/c[i] <= 100; l++) // 硬币数量不超过100的选择 { b[j+k][l+k/c[i]] += a[j][l]; } } for(int j = 0; j <= n; j++) //重置 { for(int k = 0; k <= 100; k++) { a[j][k] = b[j][k];b[j][k] = 0; } } } int sum = 0; for(int i = 0; i <= 100; i++) //对不超过100硬币数的统计总和 sum += a[n][i]; cout<<sum<<endl; }}
- HDU 2069 母函数
- HDU 2069 母函数
- hdu 2069(母函数)
- hdu 2069 二维母函数
- hdu 2069(另类版母函数)
- hdu 2069 Coin Change (母函数)
- [母函数]HDU 2069 Coin Change
- 【母函数】HDU-2069 Coin Change
- HDU 2069 Coin Change 母函数求解
- hdu 2069 Coin Change(母函数)
- hdu 2069 普通母函数 +dp
- HDU -- 2069 Coin Change 【母函数进阶】
- HDU 2069 母函数模版题
- HDU-2069 Coin Change (母函数)
- 母函数 hdu 1398
- hdu 1085 母函数
- hdu 2082 母函数
- hdu 1709 母函数
- 个人项目总结
- .net面试题(一)
- 驱动无法成功安装
- 用廉价的315M遥控模块实现数据传输 -小虫的机器人8元V35元的传输成本
- .net面试题(二)
- HDU 2069 母函数
- 音乐游戏&音频解析 ABC(下)
- Android View刷新机制
- 解决mysql不能修改(You can't specify target table 'basic_data' for update in FROM clause)
- 为什么白帽SEO总是更好
- 315M无线模块数据传输——深入研究 小虫的机器人8元V35元的传输成本
- Java数据结构与算法--对数据结构的概述
- 京东真快
- redis常用命令总结