动态规划之一数塔

it2022-05-30  79

从倒数第二列开始查找

 

核心代码:

a[i][j]+=max(a[i+1][j],a[i+1][j+1]);

a[i][j] 加上他下面的两个数中的最大者……

到最后a[0][0]就是最终的最大值。

#include <iostream> #include<algorithm> #define maxn 100 using namespace std; int main() { int a[maxn+1][maxn+1],i,j,n; cin >>n; for (i=1;i<=n;i++) for (j=1;j<=i;j++) cin >>a[i][j]; for (i=n-1;i>=1;i--) for (j=1;j<=i;j++) a[i][j]+=max(a[i+1][j],a[i+1][j+1]); cout <<a[1][1]<<endl; return 0; }

 

转载于:https://www.cnblogs.com/plxx/p/3232717.html

相关资源:数据结构—成绩单生成器

最新回复(0)