代码:
#include <iostream>
using namespace std;
const int M=1500;
int a[M][M];
int ans=0;
int n;
void DFS(int x,int y,int sum){
if(x==n+1){
ans=max(ans,sum);
return;
}
DFS(x+1,y,sum+a[x+1][y]);
DFS(x+1,y+1,sum+a[x+1][y+1]);
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
scanf("%d",&a[i][j]);
}
}
DFS(1,1,a[1][1]);
printf("%d",ans);
}
我没学过DP,遇到题目不撞南墙不回头,DFSDFSDFS
大白鲨需要帮助