DP三角形

时间:2022-12-22 08:41:59

Hrbust1038  http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1038

DP三角形

 //要注意的一点是数字的编号是J,J+1,J+2刚开始编号错误弄啦很久
#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<string.h>
using namespace std;
int ma[][],dp[][];
int n;
int maxlen(int i,int j){
if(dp[i][j]!=-)return dp[i][j];
if(i==n)return dp[i][j]=ma[i][j];
return dp[i][j]=ma[i][j]+max(maxlen(i+,j),max(maxlen(i+,j+),maxlen(i+,j+)));
}
int main()
{
int t;
cin>>t;
while(t--){cin>>n;
memset(dp,-,sizeof(dp));
memset(ma,,sizeof(ma));
for(int i=;i<=n;i++){
for(int j=;j<=*i-;j++){
cin>>ma[i][j];
}
}
cout<<maxlen(,)<<endl;
}
}