POJ 1163 The Triangle

来源:互联网 发布:神探夏洛克第四季知乎 编辑:程序博客网 时间:2024/06/06 06:42

经典的DP题目,自下而上进行,状态转移方程为
dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+data[i][j];

#include <iostream>#include <cstdio>using namespace std;#define MAXN 110int main(){    int n;    int data[MAXN][MAXN]={0};    int dp[MAXN][MAXN]={0};    scanf("%d",&n);    for(int i=1;i<=n;++i){        for(int j=1;j<=i;++j){            scanf("%d",&data[i][j]);        }    }    for(int i=1;i<=n;++i)        dp[n][i] = data[n][i];    for(int i=n-1;i>=1;--i){        for(int j=1;j<=i;++j){            dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+data[i][j];        }    }    printf("%d\n",dp[1][1]);    //system("pause");    return 0;}
0 0
原创粉丝点击