Square Coins
来源:互联网 发布:批量修改图片的软件 编辑:程序博客网 时间:2024/05/17 22:28
#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h>#include <iostream> #include <algorithm> #include <queue>#define PI 3.1415926535897932384626433832795using namespace std;int val[17]={1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289};int num0[500],num1[500];int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int n,i,j,k; while(scanf("%d",&n),n) { for(i=0;i<=n;i++) { num0[i]=1; num1[i]=0; } for(i=1;i<=16;i++) { for(j=0;j<=n;j++) { for(k=0;j+k<=n;k+=val[i]) { num1[k+j]+=num0[j]; // printf("%d ",k+j); } // printf("\n"); } for(j=0;j<=n;j++) { num0[j]=num1[j]; num1[j]=0; //printf("%d ",num0[j]); } // printf("\n"); } printf("%d\n",num0[n]); }return 0;}