hdu 2084 数塔

来源:互联网 发布:东湖高新人工智能峰会 编辑:程序博客网 时间:2024/06/16 22:29

题目来源:HDU 2084

思路:
简单dp,注意初始化。
#include <iostream>#include <stdio.h>#include <algorithm>#include <cstdio>#include <math.h>using namespace std;int temp[105][105];int dp[105][105];int N;void init(){    for(int i=1;i<=N;++i)    {        dp[i][1]=dp[i-1][1]+temp[i][1];        dp[i][i]=dp[i-1][i-1]+temp[i][i];    }}int main(){    int T;    scanf("%d",&T);    while(T--)    {        int i,j;        scanf("%d",&N);        int ans=0;        for(i=1;i<=N;++i)            for(j=1;j<=i;++j)            scanf("%d",&temp[i][j]);        init();        for(i=2;i<=N;++i)            for(j=2;j<N;++j)            dp[i][j]=max(dp[i-1][j-1],dp[i-1][j])+temp[i][j];        for(i=1;i<=N;++i)        {            if(dp[N][i]>ans)                ans=dp[N][i];        }        printf("%d\n",ans);    }    return 0;}

ps:现在也就做做这样的dp水题了 orz...