#include <stdio.h>
int main() {
int data[101][101];
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
scanf("%d", &data[i][j]);
}
}
int max[101][101] = {0};
for (int i = 1; i <= n; i++) {
max[n][i] = data[n][i];
}
for (int i = n-1; i>=1; i--) {
for (int j = 1; j <= i; j++) {
int left = max[i+1][j];
int right = max[i+1][j+1];
if (left > right) {
max[i][j] = data[i][j] + left;
} else {
max[i][j] = data[i][j] + right;
}
}
}
printf("%d", max[1][1]);
}
数字三角形问题
最新推荐文章于 2022-01-04 17:44:30 发布