#include <stdio.h>
int dp[82][82];
void DP()
{
for(int i = 1; i <= 80; ++i)
{
dp[i][i] = 1;
dp[i][1] = 1;
}
for(int i = 2; i <= 80; ++i)
{
for(int j = 2; j < i; ++j)
{
dp[i][j] = dp[i-1][j-1];
if(i - j > 0)
{
dp[i][j] += dp[i-j][j];
}
}
}
}
int main()
{
int n = 0;
int sum = 0;
DP();
while(scanf("%d",&n) != EOF)
{
sum = 0;
for(int i = 1; i <=n; ++i)
{
sum += dp[n][i];
}
printf("%d\n",sum);
}
return 0;
}
SeedCoder2014热身题7:解答
最新推荐文章于 2014-04-07 02:11:45 发布