1.hdu 1028 Ignatius and the Princess III 整数划分
1 #include<stdio.h> 2 __int64 dp[121][121]; 3 int main() 4 { 5 __int64 i,j,k,n,m; 6 for(i=0;i<=120;i++) 7 for(j=0;j<=120;j++) 8 dp[i][j]=0; 9 for(i=1;i<=120;i++) 10 { 11 dp[i][1]=1; 12 dp[1][i]=1; 13 } 14 for(i=1;i<=120;i++) 15 for(j=1;j<=120;j++) 16 { 17 if(i<j) 18 dp[i][j]=dp[i][i]; 19 else if(i>j) 20 dp[i][j]=dp[i-j][j]+dp[i][j-1]; 21 else if(i==j) 22 dp[i][j]=1+dp[i][j-1]; 23 } 24 while(scanf("%I64d",&n)>0) 25 { 26 printf("%I64d\n",dp[n][n]); 27 } 28 return 0; 29 }
原文:http://www.cnblogs.com/tom987690183/p/3680256.html