动态规划算法初步(2)
例题一:数字三角形(洛谷题)(是不是感觉很熟悉)
有人评论本人的博客《深度优先搜索(2)——数字三角形》说我的代码是错的
其实,本题的正解是用动态规划,在《深度优先搜索(1)——数字三角形》里出现只是为了让读者理解深度优先搜索(用深度优先搜索当有1000以上的数时会爆)
题目:(坐标型)
有一个数字三角形,编程求从最顶层到最底层的一条路所经过位置上数字之和的最大值。每一步只能向左下或右下方向走。下图数据的路应为7->3->8->7->5,和为30。
输入:
第一行:n(1<=n<=100),数字三角形共有n行;
以下R行:依次表示数字三角形中每行中的数字。
每个数都是非负的,且<=100.
输出:
一个正整数,路径上数字之和的最大值。
输入样例:
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
输出样例:
30