zoukankan      html  css  js  c++  java
  • UVA

    People in Cubeland use cubic coins. Not only the unit of currency is
    called a cube but also the coins are shaped like cubes and their values
    are cubes. Coins with values of all cubic numbers up to 9261(= 213
    ),
    i.e., coins with the denominations of 1, 8, 27, : : :, up to 9261 cubes,
    are available in Cubeland.
    Your task is to count the number of ways to pay a given amount
    using cubic coins of Cubeland. For example, there are 3 ways to pay
    21 cubes: twenty one 1 cube coins, or one 8 cube coin and thirteen 1
    cube coins, or two 8 cube coin and ve 1 cube coins.
    Input
    Input consists of lines each containing an integer amount to be paid. You may assume that all the
    amounts are positive and less than 10000.
    Output
    For each of the given amounts to be paid output one line containing a single integer representing the
    number of ways to pay the given amount using the coins available in Cubeland.
    Sample Input
    10
    21
    77
    9999
    Sample Output
    2
    3
    22
    440022018293


    用立方数之和凑出n有多少种方案


    完全背包

    体积是i*i*i,价值是1

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    const int N=1e5+5;
    typedef long long ll;
    int n;
    ll f[N];
    int main(){
        while(scanf("%d",&n)!=EOF){
            memset(f,0,sizeof(f));
            f[0]=1;
            for(int i=1;i<=22;i++)
                for(int j=0;j<=n;j++){
                    if(j-i*i*i>=0) f[j]+=f[j-i*i*i];
                    //printf("%d %d %lld
    ",i,j,f[i][j]);
                }
            printf("%lld
    ",f[n]);
        }
    }
  • 相关阅读:
    timer.Interval用法简介
    .net 未被引用的错误
    将Sql查询语句获取的数据插入到List列表里面
    .net 里面打不出来ConfigurationManager
    .net MVC框架里怎么写控件
    数据库里面几个字符类型的区别
    怎么在.net里面解析JSON文件?
    SqlCommand.ExecuteScalar()方法
    git学习笔记
    可变参数的lambda表达式
  • 原文地址:https://www.cnblogs.com/candy99/p/5978185.html
Copyright © 2011-2022 走看看