UVa 674 Coin Change (DP)

674 - Coin Change

Time limit: 3.000 seconds

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=615

Suppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent. We want to make changes with these coins for a given amount of money.

For example, if we have 11 cents, then we can make changes with one 10-cent coin and one 1-cent coin, two 5-cent coins and one 1-cent coin, one 5-cent coin and six 1-cent coins, or eleven 1-cent coins. So there are four ways of making changes for 11 cents with the above coins. Note that we count that there is one way of making change for zero cent.

Write a program to find the total number of different ways of making changes for any amount of money in cents. Your program should be able to handle up to 7489 cents.

Input

The input file contains any number of lines, each one consisting of a number for the amount of money in cents.

Output

For each input line, output a line containing the number of different ways of making changes with the above 5 types of coins.

Sample Input

11
26

Sample Output

4
13

思路:从上往下分析,嗯。。。一个五叉树。

所以干脆从下往上递推:dp[i] = dp[i] + dp[i - coin[k]]

完整代码:

/*0.042s*/

#include<cstdio>
#include<cstring>
const int maxn = 7490;
const int coin[5] = {1, 5, 10, 25, 50};

int dp[maxn];

int main(void)
{
    int n;
    memset(dp, 0, sizeof(dp));
    dp[0] = 1;
    for (int k = 0; k < 5; ++k)
        for (int i = coin[k]; i < maxn; ++i)
            dp[i] += dp[i - coin[k]];///各种组合都叠加起来
    while (~scanf("%d", &n))
        printf("%d\n", dp[n]);
    return 0;
}

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索dp
, int
, for
, number
, cent
of
uva 674、uva exact change、coin change、coin change 动态规划、coin change leetcode,以便于您获取更多的相关知识。

时间: 2024-11-02 23:46:12

UVa 674 Coin Change (DP)的相关文章

UVa 11137 Ingenuous Cubrency (DP)

11137 - Ingenuous Cubrency Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2078 People in Cubeland use cubic coins. Not only the unit of currency is called acube but also

UVa 10192 Vacation:DP&amp;amp;LCS

10192 - Vacation Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=1133 水. 完整代码: /*0.019s*/ #include<bits/stdc++.h> using namespace std; char a[105],

UVa 531 Compromise:DP&amp;amp;LCS

531 - Compromise Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=472 注意用一个全局变量flag来确定是否输出空格. 完整代码: /*0.029s*/ #include<bits/stdc++.h> using namespac

UVa 10081 Tight Words (DP)

10081 - Tight Words Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1022 思路:长度为i的串,如果其末尾数是j,那么这样的串的个数必为长为i-1的串的,尾数为j-1,j,j+1三种情况的数目之和(在边界范围内) 完整代码: /*0.0

UVa 11264 Coin Collector (选硬币&amp;amp;贪心好题)

11264 - Coin Collector Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2231 Our dear Sultan is visiting a country where there are n different types of coi

UVa 10003 Cutting Sticks (DP)

10003 - Cutting Sticks Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=944 You have to cut a wood stick into pieces. The most affordable company, The Ana

UVa 10721 Bar Codes (DP)

10721 - Bar Codes Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1662 A bar-code symbol consists of alternating dark and light bars, starting with a dark

UVa 116 Unidirectional TSP (DP)

116 - Unidirectional TSPTime limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=52 Background Problems that require minimum paths through some domain appear in m

算法题:UVA 10626 Buying Coke(dp + 记忆化搜索)

I often buy Coca-Cola from the vending machine at work. Usually I buy several cokes at once, since my working mates also likes coke. A coke in the vending machine costs 8 Swedish crowns, and the machine accept crowns with the values 1, 5 and 10. As s