硬币组合问题
这是一篇讲的很好很好的博文:http://www.cnblogs.com/python27/archive/2013/09/05/3303721.html
#include <bits/stdc++.h> using namespace std; int dp[10000][10000]; int coin[]={0,1,5,10,25,50}; void fd(int x) { for(int i=0;i<=5;i++) dp[i][0]=1; for(int i=1;i<=5;i++) for(int j=1;j<=x;j++) for(int k=0;k<=j/coin[i];k++) dp[i][j]+=dp[i-1][j-k*coin[i]]; } int main() { int x; fd(7489); while(~scanf("%d",&x)) printf("%d\n",dp[5][x]); return 0; }
作者:weeping
出处:www.cnblogs.com/weeping/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。