UVA 674 Coin Change

来源:互联网 发布:怎样做一个淘宝店 编辑:程序博客网 时间:2024/05/21 17:01

有5种货币,1,5,10,25,50.给出钱的总数,问有多少种组成方案。
解法:DP,dp[i]表示能换到i元的方法总数。

#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;int dp[7500];int a[5] = {1,5,10,25,50};int main(){    int n;    while(~scanf("%d",&n))    {        memset(dp,0,sizeof(dp));        dp[0] = 1;        for(int i = 0 ; i < 5 ;i++)        {            for(int v = a[i] ; v <= n ; v++)            {                dp[v] += dp[v-a[i]];            }        }        printf("%d\n",dp[n]);    }    return 0;}
0 0
原创粉丝点击