动态规划。
可以自上到下,也可以自下到上。
代码如下:
1 #include<iostream> 2 #include<cstring> 3 4 using namespace std; 5 6 int main() 7 { 8 int n, i, j, a[102][102]; 9 cin >> n; 10 memset(a, 0, sizeof(a)); 11 for (i=1; i<=n; i++) 12 for (j=1; j<=i; j++) 13 cin >> a[i][j]; 14 for (i=n; i>=1; i--) 15 { 16 for (j=1; j<=i; j++) 17 { 18 a[i][j]+=max(a[i+1][j], a[i+1][j+1]); 19 } 20 } 21 cout << a[1][1] << endl; 22 }