前几天有几个同学讨论一个题目,来作为动态规划实例,我觉得挺经典的。就记录一下。
大致同容是这样的:
一个如是下图的数字三角形,从顶部到底部有多条路径,对于每一条路径,把路径上的数字加起来,可以得到一个和,和的最大的路径,为一条最佳路径。求这条最佳路径。
5
4 5
4 5 9
9 8 4 8
9 0 7 4 8
0 9 2 4 5 8
要求:
路径上的每一步只能从一个数走到下一层上和它最近的左边的数或者右边的数。
输入:第一行是一个整数N(1<N<100) ,给出三角形的行数,驾车后给出数字三角形。数字三角形上的数的范围都在0~100之间。
输出:最大的和。