当前位置:编程学习 > C/C++ >>

uva 11137 Ingenuous Cubrency(完全背包)

题目大意:由21种规模的立方体(r 1~21),现在给出一个体积, 要求计算可以用多少种方式组成。
 
解题思路:完全背包, 和uva674是一样的, 只是这里的体积是r ^ 3。 

#include <stdio.h>  
#include <string.h>  
const int N = 10005;  
long long dp[N];  
  
void Init() {  
    int t;  
    dp[0] = 1;  
    for (int i = 1; i <= 21; i++) {  
    t = i * i * i;  
    for (int j = t; j < N; j++)  
        dp[j] += dp[j - t];  
    }  
}  
  
int main() {  
    Init();  
    int n;  
    while (scanf("%d", &n) == 1) {  
    printf("%lld\n", dp[n]);  
    }  
    return 0;  
}  

 


补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,