1796 数字金字塔
#include<bits/stdc++.h>
using namespace std;
long long a[1001][1001];
int n;
int main(){
cin>>n;
long long ans = -1;//记录最大结果
//开始递推每一个位置的最大值
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
cin>>a[i][j];
if(j==1){ //第一列
a[i][j] += a[i-1][j];
} else if(j==i){ //最后一列
a[i][j] += a[i-1][j-1];
}else{ //其他位置
a[i][j] += max(a[i-1][j],a[i-1][j-1]);
}
ans = max(ans,a[i][j]);
}
}
cout<<ans; // 输出结果
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步