• 数塔 简单的 动态规划


        

    挺简单的 , 从下向上将 下一行的 数字向上 一行 加     然后  将 这一行的  再向上 +   加到 最上面的时候 最上面的 就是 最大的值 

    #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
    ",a[0][0]);
        }
        return 0;
    }
  • 相关阅读:
    python3-基础11
    python3-基础10
    python3-基础9
    python3-基础8
    python3-基础7
    python3-基础6
    phaserjs 总结
    ES6总结
    移动端webview调试
    nodejs的理解
  • 原文地址:https://www.cnblogs.com/A-FM/p/5230575.html
Copyright © 2020-2023  润新知