HDU 1398

来源:互联网 发布:国产浏览器知乎 编辑:程序博客网 时间:2024/06/16 01:15

less than 300

会出现300的数据

所以开大点.....

#include <iostream>using namespace std;int cl[1000],c2[1000];int main(){    int n;    int i,j,k;        while(cin>>n,n)    {        for(i = 0;i <= n; i++)        {            cl[i] = 1;            c2[i] = 0;        }        for(i = 2; i*i <= n; i++)        {            for(j = 0; j <= n; j++)                for(k = 0; j+k <= n; k+=i*i)                        c2[k+j] += cl[j];            for(j = 0; j <= n; j++)            {                cl[j] = c2[j];                c2[j] = 0;            }        }        cout<<cl[n]<<endl;    }    return 0;}

0 0
原创粉丝点击