HDU2069 Coin Change(基础DP)

Posted zhanglichen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU2069 Coin Change(基础DP)相关的知识,希望对你有一定的参考价值。

题解:

/*
 * hdu2069
 * 题意:给出五种面值的银币,分别是1,5,10,25,50
 * 对于给定数字x,求解有多少种银币组合的方法。
*/
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
typedef long long ll;
const int maxn=255;
int a[5]={1,5,10,25,50};
ll dp[255][105];//dp[j][k]:用k个银币组成j值的个数
int main () {
    int x;
    while (cin>>x) {
        memset(dp,0,sizeof(dp));
        dp[0][0]=1;
        for (int i=0;i<5;i++)
            for (int k=1;k<=100;k++)
                for (int j=a[i];j<=x;j++)
                    dp[j][k]+=dp[j-a[i]][k-1];
        int ans=0;
        for (int i=0;i<=100;i++)
            ans+=dp[x][i];
        printf("%d
",ans);
    }
}

 

以上是关于HDU2069 Coin Change(基础DP)的主要内容,如果未能解决你的问题,请参考以下文章

HDU 2069 Coin Change

hdu2069(Coin Change)

hdu 2069 Coin Change(完全背包)

[HDOJ]Coin Change(DP)

#2069:Coin Change(完全背包)

HDU-2016 Coin Change (母函数 | 多重背包)