大意:台阶问题:N块东西,摞成台阶(高度严格单调递增)
算法:母函数展开
这个问题相当于求
(1+x)(1+x2)(1+x3)(1+x4)……的xn次项系数
%0.0lf   ……

数貌似有点大,用double能搞定。
 1 #include  < stdio.h > ;
 2 #include  < iostream.h > ;
 3 #include  < string .h > ;
 4
 5 double  a[ 511 ][ 511 ] ;
 6
 7 int  main() {
 8memset(a,0,sizeof(a));
 9int i,j,n;
10cin>>n;
11a[0][0]=1;
12int t;
13for (i=1;i<=n;i++)
14for (j=0;j<=n;j++){
15a[i][j]+=a[i-1][j];
16t=j+i;
17if (a[i-1][j]>0 && t<=n) a[i][t]+=a[i-1][j];
18}

19printf("%0.0lf\n",a[n-1][n]);
20return 0;
21}