poj 3176 Cow Bowling

题目链接http://poj.org/problem?id=3176

题目分类:动态规划

代码

//#include<bits/stdc++.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>

using namespace std;

int n;
int a[500][500];
int dp[500][500];

int main()
{
    memset(a,0,sizeof(a));
    memset(dp,0,sizeof(dp));
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=i;j++)
        {
            scanf("%d",&a[i][j]);
            dp[i][j]=a[i][j];
        }
    }

    for(int i=2;i<=n;i++) //hang
    {
        for(int j=1;j<=n;j++)  //lie
        {
            dp[i][j]=max(dp[i-1][j-1]+a[i][j],dp[i-1][j]+a[i][j]);
        }
    }

    int ans=-100000000;

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

    printf("%d
",ans);
    return 0;
}
anytime you feel the pain.hey,refrain.don't carry the world upon your shoulders
原文地址:https://www.cnblogs.com/gaoss/p/4934670.html