SDUT 1223-找零钱(DP)
来源:互联网 发布:openwrt p2p端口 编辑:程序博客网 时间:2024/04/28 04:40
题目链接:点击打开链接
还是硬币问题。只不过多了一个限制条件是要求组成n的硬币个数不超过100.考虑dp ,可以在一维的基础上增加一个维度,即设 dp[i][j] 为所用硬币为i个表示j 的种类数 。
dp[i][j]=dp[i][j]+dp[i-1][j-v[k]],依旧是枚举硬币种类。
#include <algorithm>#include <iostream>#include <cstring>#include <cstdlib>#include <string>#include <cctype>#include <vector>#include <cstdio>#include <cmath>#include <queue>#include <stack>#include <map>#include <set>#define maxn 1<<12#define _ll __int64#define ll long long#define INF 0x3f3f3f3f#define Mod 1000000007#define pp pair<int,int>#define ull unsigned long longusing namespace std;int n,dp[101][251];int v[]={1,2,5,10,20,50,100};void solve(){memset(dp,0,sizeof(dp));dp[0][0]=1;for(int i=0;i<7;i++)for(int num=1;num<=100;num++)for(int j=v[i];j<=n;j++)dp[num][j]+=dp[num-1][j-v[i]];int ans=0;for(int i=0;i<=100;i++)ans+=dp[i][n];printf("%d\n",ans);}int main(){while(~scanf("%d",&n)&&n)solve(); return 0;}
1 0
- SDUT 1223-找零钱(DP)
- 找零钱(sdut 1223
- 找零钱 SDUT 1223
- YTU ---1914- 找零钱(DP)
- boj1490 找零钱 dp
- 找零钱 stut 1223
- 找零钱(记搜)
- 整数拆分(找零钱)
- 找零钱 (剪枝,提高效率)
- 找零钱(贪心算法)
- 零钱问题(dp)
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱!
- 找零钱
- CryENGINE3初探Flowgraph(FG)(三)----使用C++创建自定义Node
- java.util.ResourceBundle使用详解
- 十五周项目二
- 第十三周项目五 字符串操作(1)
- 第十五周Oj指针当形参
- SDUT 1223-找零钱(DP)
- yii findByAttributes()
- Oracle临时表
- 学习嵌入式Linux系统开发基础 第五课(Linux服务器配置)
- PPT打印技巧——你还在一页打六张吗?
- 防止XSS攻击
- css基础-选择器
- ORA-00054: 资源正忙,要求指定 NOWAIT
- eclipse增加struts.xml智能提示(绝对能用)