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 }
  • 相关阅读:
    butter
    医院设置
    NOIP 2000 进制转换
    图的M 着色问题
    闭合区域面积统计
    字符序列
    装载问题
    n皇后问题
    跳马问题
    数独
  • 原文地址:https://www.cnblogs.com/A-FM/p/5439928.html
Copyright © 2011-2022 走看看