蓝桥夺宝奇兵#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;}