题目
代码:
#include<bits/stdc++.h>
using namespace std;
int n,dt[1010][1010],f[1003][1003];
int dfs(int x,int y){
if(f[x][y])return f[x][y];
f[x][y]=dt[x][y];
if(x<n)f[x][y]+=max(dfs(x+1,y+1),dfs(x+1,y));
return f[x][y];
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int k=1;k<=i;k++){
scanf("%d",&dt[i][k]);
}
}
cout<<dfs(1,1);
return 0;
}