• 数字三角形:顺推法(一维数组)


    题意

    写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。


    分析

    f[j] 表示第i行第j个位置上的数到顶点的最大值。

    F[j]=max{a[j]+f[j-1],a[j]+f[j]}2<=j<i

    F[1]=a[1]+f[1]


    var
    n,i,j,w:longint;
    a,f:array[1..10000]of longint;
    begin
        readln(n);
        fillchar(f,sizeof(f),0);
        readln(a[1]);
        f[1]:=a[1];
        for i:=2 to n do
        begin
            for j:=1 to i do
            read(a[j]);
            for j:=i downto 2 do
            if f[j-1]<f[j] then f[j]:=a[j]+f[j] else f[j]:=a[j]+f[j-1];
            f[1]:=a[1]+f[1];
        end;
        w:=0;
        for i:=1 to n do
        if f[i]>w then w:=f[i];
        write(w);
    end.
  • 相关阅读:
    [BUUCTF]PWN14——not_the_same_3dsctf_2016
    flask cookie
    关于cookie和session
    mysql修改表操作
    MySQL 增删改查
    mysql数据类型
    python读写mysql
    聚合查询
    条件查询
    排序
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500177.html
Copyright © 2020-2023  润新知