#include<stdio.h> int t[301]; int b[301]; int main() { int n,i,j,k; while(scanf("%d",&n)!=EOF&&n) { for(i=0;i<=n;i++) { t[i]=1; b[i]=0; } for(i=2;i<=17;i++) { for(j=0;j<=n;j++) { for(k=0;j+k<=n;k+=i*i) { b[j+k]+=t[j]; } } for(j=0;j<=n;j++) { t[j]=b[j]; b[j]=0; } } printf("%d\n",t[n]); } }
hdu1398 Square Coins(母函数、完全背包)
作者: 点A点C
出处: http://www.cnblogs.com/ACshasow/>
关于作者:游戏开发、算法研究,请多多赐教!
本文版权归作者(点A点C)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(572779130@qq.com)咨询.