HDU 2084 树塔
//这算是一个历史遗留问题吧;
//一直没有去尝试做动态规划的题目
//说道理,就是像是心里有种恐惧
//因为听说。。。听说动态规划很难
//所以就连这入门的都没敢去AC
//今天开始,深入看看吧。。。
//菜鸟~~~
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <string> #include <iomanip> int ta[105][105]; using namespace std; int main(int argc, char *argv[]) { int c,n; scanf("%d",&c); while(c--) { scanf("%d",&n); for(int i = 1; i <= n; i++) for(int j = 1; j <= i; j++) scanf("%d",&ta[i][j]); for(int i = n-1; i >= 1; i--) { for(int j = 1; j <= i; j++) { ta[i][j] = max(ta[i+1][j]+ta[i][j],ta[i+1][j+1]+ta[i][j]); } } printf("%d\n",ta[1][1]); } return 0; }