数塔 简单的 动态规划
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数塔 简单的 动态规划相关的知识,希望对你有一定的参考价值。
挺简单的 , 从下向上将 下一行的 数字向上 一行 加 然后 将 这一行的 再向上 + 加到 最上面的时候 最上面的 就是 最大的值
#include<stdio.h> #include<algorithm> using namespace std; int a[101][101]; int max(int x,int y) { return x>y?x:y; } int main() { int i,j,n,t; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<=i;j++) { scanf("%d",&a[i][j]); // 输入数塔 完成 } } for(i=n-2;i>=0;i--) { for(j=i;j>=0;j--) { a[i][j]=max(a[i+1][j]+a[i][j],a[i+1][j+1]+a[i][j]); } } printf("%d\n",a[0][0]); } return 0; }
以上是关于数塔 简单的 动态规划的主要内容,如果未能解决你的问题,请参考以下文章