自底向上递推,a[1][1]就是最终的答案
#include<bits/stdc++.h>
using namespace std;
int a[105][105];
int main(){
int t;
scanf("%d",&t);
while(t--){
int n;
scanf("%d",&n);
memset(a,0,sizeof a);
for(int i=1;i<=n;++i){
for(int j=1;j<=i;++j){
scanf("%d",&a[i][j]);
}
}
for(int i=n;i>=1;--i){
for(int j=1;j<=i;++j){
a[i][j]=a[i][j]+max(a[i+1][j],a[i+1][j+1]);
}
}
cout<<a[1][1]<<endl;
}
}
“让我们从头开始,重新出发。”