The Triangle 经典DP

题意:数塔问题

思路:1:递归。2:递推。3:记忆化搜索。《刘汝佳,第九章》


#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int data[105][105];
int main ()
{
    int n;
    while(~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=n-1;i>=1;i--)
            for(int j=1;j<=i;j++)
                data[i][j]+=max(data[i+1][j],data[i+1][j+1]);
        printf("%d\n",data[1][1]);
    }
    return 0;
}


posted @ 2016-05-07 11:58  _Mickey  阅读(134)  评论(0编辑  收藏  举报