题目:统计一个数字可以有多少种立方和的表示方式。
分析:dp,完全背包。又见整数拆分。
说明:csdn冲进前1000了,(*^__^*) 嘻嘻……。
#include <iostream> #include <cstdlib> #include <cstring> using namespace std; int cube[25]; long long F[10001]; int main() { for (int i = 0 ; i <= 21 ; ++ i) cube[i] = i*i*i; for (int i = 0 ; i < 10000 ; ++ i) F[i] = 0LL; F[0] = 1LL; for (int i = 1 ; i <= 21 ; ++ i) for (int j = cube[i] ; j < 10000 ; ++ j) F[j] += F[j-cube[i]]; int n; while (cin >> n) cout << F[n] << endl; return 0; }
时间: 2024-10-14 11:25:11