码迷,mamicode.com
首页 > 其他好文 > 详细

HDU2069 Coin Change(基础DP)

时间:2020-05-16 14:05:11      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:size   std   int   i++   memset   bsp   组合   ring   span   

题解:

/*
 * 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\n",ans);
    }
}

 

HDU2069 Coin Change(基础DP)

标签:size   std   int   i++   memset   bsp   组合   ring   span   

原文地址:https://www.cnblogs.com/zhanglichen/p/12900235.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!