hdu1398 Square Coins(母函数、完全背包)

#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]);
    }
}

作者: 点A点C

出处: http://www.cnblogs.com/ACshasow/>

关于作者:游戏开发、算法研究,请多多赐教!

本文版权归作者(点A点C)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(572779130@qq.com)咨询.

原文地址:https://www.cnblogs.com/ACshasow/p/2783152.html