zoukankan      html  css  js  c++  java
  • hdu 1284 钱币兑换问题

    Problem Description
    在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。
    Input
    每行只有一个正整数N,N小于32768。
    Output
    对应每个输入,输出兑换方法数。
    Sample Input
    2934
    12553
    Sample Output
    718831
    13137761

    dp真的很强大,而且这个题数据也不是很大,故时间也不用过于考虑,下面是代码,和我上一篇一样

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    long long dp[34000];
    int st[3]={1,2,3};
    void init()
    {
        memset(dp,0,sizeof(dp));
        dp[0]=1;
        for (int i=0;i<3;i++)
        for (int j=st[i];j<=32770;j++)
        dp[j]+=dp[j-st[i]];
    }
    int main()
    {
        int n;
        init();
        while(scanf("%d",&n)!=EOF)
        {
            printf("%lld
    ",dp[n]);
        }
        return 0;
    }
    至少做到我努力了
  • 相关阅读:
    MAC下cocos2dx环境搭建
    eclipse混淆打包出错
    eclipseme升级
    MyEclipse 10 中增加插件
    j2me图片处理大全
    关于svn使用
    NFS相关
    BMP文件格式图解
    UDA1341TS
    OpenOCD初始化脚本(uboot)
  • 原文地址:https://www.cnblogs.com/chensunrise/p/3705485.html
Copyright © 2011-2022 走看看