KiritoTRw 2016-05-07 19:55:59 +08:00
parent 1701104c48
commit 94ffd5d482
1 changed files with 32 additions and 0 deletions

32
HDOJ/1398_cnblogs.cpp Normal file
View File

@ -0,0 +1,32 @@
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cmath>
using namespace std;
const int M = 300 + 10;
int dp[M];
int main()
{
int n;
while (~scanf("%d", &n), n)
{
memset(dp, 0, sizeof(dp));
dp[0] = 1;
int max = (int)sqrt(n * 1.0);
for (int i = 1; i <= max; i++)
{
for (int j = i * i; j <= n; j++)
{
dp[j] += dp[j - i * i];
}
}
printf("%d\n", dp[n]);
}
return 0;
}