数字三角型,P160页
递推计算:
int i,j;
for(j =1; j <=n; j++)
d[n][j]=a[n][j];
for(i=n-1;i>=1;i--)
for(j=1;j<=i;j++)
d[i][j]=a[i][j]+ d[i+1][j]>?d[i+1][j+1];
记忆化搜索:
memset(d,-1,sizeof(d));
int d(int i,int j) //递归函数
{
if(d[i][j]>=0)
return d[i][j];
return d[i][j]=a[i][j]+(i==n ? 0: d(i+1,j)>?d(i+1,j+1) );
}