Cow Bowling POJ3176(dp)

http://poj.org/problem?id=3176

题意:

Cow Bowling POJ3176(dp)    

如图所示,呈三角形的往上递推,问你在这过程中最大的和可能是多少?

简单dp

#include <iostream>
#include <cstdio>
#include <stdio.h>
#include <string.h>
using namespace std;
#define maxn 400
int  dp[maxn][maxn];
int n;


int main()
{
    int num;
    scanf("%d", &n);

    memset(dp, 0, sizeof(dp));

    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=i; j++)
        {
            scanf("%d", &num);
            dp[i][j] = num;
        }
    }

   for(int i=n; i>=1; i--)
   {
      for(int j=1; j<=i; j++)
      {
          dp[i][j] += max(dp[i+1][j], dp[i+1][j+1]);
      }
   }

     printf("%d
", dp[1][1]);

    return 0;
}
View Code