poj2346

dp

View Code
#include <iostream>
#include 
<cstdio>
#include 
<cstdlib>
#include 
<cstring>
using namespace std;

int f[6][50];

int main()
{
    
//freopen("t.txt", "r", stdin);
    memset(f, 0sizeof(f));
    f[
0][0= 1;
    
for (int i = 1; i <= 5; i++)
        
for (int j = 0; j <= 9*i; j++)
            
for (int k = 0; k <= 9; k++)
            {
                
if (k > j)
                    
break;
                f[i][j] 
+= f[i - 1][j - k];
            }
    
int n;
    scanf(
"%d"&n);
    n 
/= 2;
    
int ans = 0;
    
for (int i = 0; i <= n * 9; i++)
        ans 
+= f[n][i] * f[n][i];
    printf(
"%d", ans);
    
return 0;
}
posted @ 2011-07-13 19:12  金海峰  阅读(244)  评论(0编辑  收藏  举报