HDU 1398 Square Coins

来源:互联网 发布:小型公司网络搭建案例 编辑:程序博客网 时间:2024/06/05 08:41

题目地址:点击打开链接

思路:母函数模板题

AC代码:

#include <iostream>using namespace std;int main(){    int i,j,k,n;    int c1[310],c2[310];    while(cin>>n)    {        if(n == 0)            break;        for(i=0; i<=n; i++)        {            c1[i] = 1;            c2[i] =0;        }        for(i=2; i<=17; i++)//要是超时可以预处理一下,不过不可能,懒得处理了        {            for(j=0; j<=n; j++)            {                for(k=0; k+j<=n; k += i*i)                {                    c2[k+j] += c1[j];                }            }            for(j=0; j<=n; j++)            {                c1[j] = c2[j];                c2[j] = 0;            }        }        cout<<c1[n]<<endl;    }    return 0;}

0 0
原创粉丝点击