数字三角形 Posted on 2018-12-18 | 问题描述 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大。 ●每一步可沿左斜线向下或右斜线向下走; ●1<三角形行数≤100; ●三角形中的数字为整数0,1,…99;输入格式 文件中首先读到的是三角形的行数。 接下来描述整个三角形输出格式 最大总和(整数) 样例输入 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 样例输出30 1234567891011121314151617181920212223#include<iostream>using namespace std;#define MAX 100int a[MAX][MAX];int main(){ int n; cin>>n; for(int i=0;i<n;i++){ for(int j=0;j<=i;j++){ cin>>a[i][j]; } } for(int i=n-1;i>=1;i--){ for(int j=0;j<i;j++) a[i-1][j]+=max(a[i][j],a[i][j+1]); } cout<<a[0][0]<<endl; }