需求
描述
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
在上面的数字三角形中寻找一条从顶部到底边的路径,使得
路径上所经过的数字之和最大。路径上的每一步都只能往左下或
右下走。只需要求出这个最大和即可,不必给出具体路径。
三角形的行数大于1小于等于100,数字为 0 - 99
输入
5 //三角形行数。下面是三角形
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
输出
要求输出最大和
分析
从下朝上逆推。
arr[i][j]的数与一下行数字的最大值
相当于arr[i+1][j]与arr[i+1][j+1]中的最大值 与 arr[i][j]之和。
状态转移方程
max[i][j] 代表i行j列的数字到底边的最大路径。
代码
#include <iostream>
#include <algorithm>
using namespace