题目
分析
数据结构存储如下:
对于每条路径,一定会到达底部的某一结点。一个很顺畅的思路就是从最底层的全部结点开始,向上遍历,每到达一个结点,则对该结点向上一层可能抵达的两个结点值进行判断——取较大者,形成叶子结点到该结点的最小路径,重复此过程。设结点横坐标为 i,纵坐标为 j,结点值为 temp[i][j] ,动态规划公式为 F[i,j]=temp[i][j]+max{F[i-1][j-1],F[i-1][j]} 。注意数组下标,存储数据应从“1”开始。
代码
#include<cstdio>
int temp[1010][1010] = {
0 };
int tail[1010][1010] = {
0