/*普通母函数,求不同的等式个数*/
Problem : 1028 ( Ignatius and the Princess III ) Judge Status : Accepted
RunId : 7619730 Language : C++ Author : CherryChou
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
RunId : 7619730 Language : C++ Author : CherryChou
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
#include<functional> #include<algorithm> #include<iostream> #include<fstream> #include<sstream> #include<iomanip> #include<numeric> #include<cstring> #include<cassert> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<stack> #include<cmath> #include<ctime> #include<list> #include<set> #include<map> using namespace std; int N,a[130],b[130],ans[130]; int main() { int t,i,j,k; for(t=1;t<=120;t++){ memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); a[0]=1; for(i=1;i<=t;i++){ for(j=0;j<=t;j++) for(k=0;k<=t&&k*i+j<=t;k++) b[k*i+j]+=a[j]; for(j=0;j<=t;j++) a[j]=b[j],b[j]=0; } ans[t]=a[t]; } while(~scanf("%d",&N)) printf("%d\n",ans[N]); return 0; }