HDU 2084 数塔(简单DP)

来源:互联网 发布:手机怎么申请淘宝小号 编辑:程序博客网 时间:2024/05/29 09:42

从倒数第二层向上推

方程:t[i][j]=max(t[i+1][j],t[i+1][j+1])+t[i][j]

t[0][0]就是答案了

#include <iostream>#include <cstdio>#include <memory.h>using namespace std;const int maxn=101;int tower[maxn][maxn],n;int main(){int t;scanf("%d",&t);while (t--){scanf("%d",&n);for (int i=0;i<n;++i){for (int j=0;j<=i;++j){scanf("%d",&tower[i][j]);}}for (int i=n-1;i>=0;--i){for (int j=0;j<=i;++j){tower[i][j]+=max(tower[i+1][j],tower[i+1][j+1]);}}printf("%d\n",tower[0][0]);}return 0;}


原创粉丝点击