题解
2025-07-01 11:17:38
发布于:浙江
7阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main() {
int r;
cin >> r;
vector<vector<int>> pyramid(r); //请勿复制
// 读取金字塔数据
for (int i = 0; i < r; ++i) {
pyramid[i].resize(i + 1); //请勿复制
for (int j = 0; j <= i; ++j) { //请勿复制
cin >> pyramid[i][j];
}
}
// 初始化 dp 数组为最底层的值
vector<int> dp = pyramid[r - 1];
// 自底向上动态规划
for (int i = r - 2; i >= 0; --i) { //请勿复制
for (int j = 0; j <= i;++j) {
dp[j] = pyramid[i][j] + max(dp[j], dp[j + 1]); //请勿复制
}
} //请勿复制
cout << dp[0] << endl; //请勿复制
return 0;
}
全部评论 4
dd
2025-07-01 来自 浙江
1dd
2025-07-01 来自 浙江
1d
2025-07-01 来自 浙江
1dd
2025-07-01 来自 浙江
1
有帮助,赞一个