题目大意:从三角形顶部走到三角形底部,走的时候只能按对角走,问途中经过的数字和最大是多少。
分析:简单DP,直接贴代码。
值得提一下的是,为了省空间,状态二维数组在我是用一维数组替代的。为了方便书写,我定义了一个Tran宏。
一开始,我写的是#define Tran(i,j) ((i-1)*i/2+j),代码中我使用了Tran(i-1,j),因为宏都是直接替换的,由于运算符优先级的关系,就出了问题。
解决办法也很简单,就是加括号。#define Tran(i,j) ((i-1)*(i)/2+j)。