HDU - 树塔 : 入门dp
http://acm.hdu.edu.cn/showproblem.php?pid=2084
#include <stdio.h>
#include <cstring>
#include <algorithm>
#include <vector>
#include <map>
#include <assert.h>
#include <set>
#include <cmath>
#include <queue>
#include <cstdlib>
#include <iostream>
#include <bitset>
#define pii pair<int,int>
#define fi first
#define se second
#define pb push_back
using namespace std;
typedef long long ll;
const int mxn = 1e2+5;
int n,m,k,t,dp[mxn][mxn],a[mxn];
int main()
{
cin>>t;
while(t--)
{
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
cin>>dp[i][j];
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++)
{
for(int j=n;j>=1;j--)
{
a[j] = max( a[j] ,a[j-1] ) + dp[i][j] ;
}
}
cout<<*max_element(a+1,a+1+n)<<endl;
}
return 0 ;
}
所遇皆星河