HDOJ 1398 生成函數
阿新 • • 發佈:2017-05-10
for 組成 ems 硬幣 log ast pro () +=
鏈接:
http://acm.hdu.edu.cn/showproblem.php?pid=1398
題意:
給你17種硬幣,面值分別為1²,2²,3²,4²……
詢問組成n元有多少種方法
代碼:
31 int n; 32 int v[20]; 33 int a[310], b[310], last; 34 35 int main() { 36 rep(i, 0, 18) v[i] = i*i; 37 a[0] = 1; 38 rep(i, 1, 18) { 39 memset(b, 0, sizeof(b)); 40 for (int j = 0; j*v[i] < 310; j++) 41 for (int k = 0; k + j*v[i] < 310; k++) 42 b[k + j*v[i]] += a[k]; 43 memcpy(a, b, sizeof(b)); 44 } 45 while (cin >> n, n) cout << a[n] << endl; 46 return 0; 47 }
HDOJ 1398 生成函數