POJ 1221

 1 #include <iostream>
 2 #define MAXN 500
 3 using namespace std;
 4 
 5 unsigned dp[MAXN][MAXN];
 6 
 7 int main()
 8 {
 9 //    freopen("acm.acm","r",stdin);
10     int i;
11     int j;
12     int num;
13     for(i = 0; i < MAXN; ++ i)
14     {
15         dp[0][i] = 1;
16     }
17 
18     for(i = 0; i < MAXN; ++ i)
19     {
20         for(j = i/2+1; j <= i; ++ j)
21         {
22             dp[i][j] = 1;
23         }
24     }
25 
26     for(i = 0; i < MAXN; ++ i)
27     {
28         for(j = i/2; j > 0; -- j)
29         {
30             dp[i][j] = dp[i-2*j][j] + dp[i][j+1];
31         }
32     }
33 
34     while(cin>>num,num)
35     {
36         cout<<num<<" "<<dp[num][1]<<endl;
37     }
38 }

关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。 

技术网站地址: vmfor.com

原文地址:https://www.cnblogs.com/gavinsp/p/4563327.html