hdu 1398 Square Coins (母函数)

#include<stdio.h>

#include<string.h>

int main()

{

    int i,j,k,n,a[18][301];

    memset(a,0,sizeof(a));

    for(i=0;i<301;i++)

        a[1][i]=1;

    for(i=2;i<18;i++)

    {

        for(j=0;j<301;j++)

            for(k=0;j+i*i*k<301;k++)

                a[i][j+i*i*k]+=a[i-1][j];

    }

    while(scanf("%d",&n)==1 && n)

    {

        printf("%d\n",a[17][n]);

    }

    return 0;

}


你可能感兴趣的:(HDU)