蓝桥夺宝奇兵
#include <stdio.h>
int n[35];
int dp[105][105];
int map[105][105];
int max(int a,int b){
if(a>=b) return a;
else return b;
}
int main() {
int N,i,j;
scanf("%d",&N);
for (i = 1; i <= N; i++) {
for (j = 1; j <= i; j++) {
scanf("%d",&map[i][j]);
}
}
for (i = N; i>=1; i--) {
for (j = 1; j <= i; j++) {
dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+map[i][j];
}
}
printf("%d",dp[1][1]);
return 0;
}