zoukankan      html  css  js  c++  java
  • 数字三角形 动态规划 由下至上

    数字三角形 , 就 从上至下的 和最大是几 ? 可以采用从下到上 用贪心的方法 算出来  最大值 下面附上代码 

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<math.h>
     4 #include<iostream>
     5 #include<algorithm>
     6 #include<queue>
     7 #include<vector>
     8 #include<set>
     9 #include<stack>
    10 #include<string>
    11 #include<sstream>
    12 #include<map>
    13 #include<cctype>
    14 #include<limits.h>
    15 using namespace std;
    16 int main()
    17 {
    18     int sum,a[5055],t,n;
    19     while(scanf("%d",&n)!=EOF)
    20     {
    21         sum=n*(n+1)/2;
    22         for(int i=1;i<=sum;i++)
    23             scanf("%d",&a[i]);
    24         int count1=1;
    25         for(int i=sum,total=sum;i-n>0;i--,total--)
    26         {
    27             a[i-n]=max(a[i-n]+a[total],a[i-n]+a[total-1]);
    28             count1++;
    29             if(count1==n)
    30             {
    31                 count1=1;
    32                 n--;
    33                 i--;
    34                 total--;
    35             }
    36         }
    37         printf("%d
    ",a[1]);
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    JAVA类与对象(一)----基础概念理解
    JAVA数组
    JAVA算术运算符、关系运算符和位运算符
    JAVA数据类型
    JAVA配置环境变量
    C#中怎么生成36位的GUID
    jqAjax
    二进制1的个数
    成绩转换
    对决
  • 原文地址:https://www.cnblogs.com/A-FM/p/5439928.html
Copyright © 2011-2022 走看看