898デジタル三角形をAcWing

// 从上往下 
する#include <iostreamの> 
の#include <アルゴリズム>
 使用して 名前空間をSTD。
CONST  INT N = 510、INF = 1E9。
int型のn;
int型[N] [N]。
INT F [N]、[N]。
int型のmain(){ 
    scanf関数(" %のD "、&n)を。
    以下のためにINT iが= 1 ; I <= N; I ++ のためのINT J = 1 ; J <= I; J ++ 
            のscanf(" %dの"、A&[I] [J]);
     のためのINT I = 0 ; I <= N; I ++ // 初期化するために、最後の行は、負の無限大に初期化し、右上にないように
        するためにint型 J = 0 ; J <= I + 1、J ++ 
            F [I] [J] = - INF; 
    [F 1 ] [ 1 ] = A [ 1 ] [ 1 ]; //
     INT I = 2。 I ++; I <= N のためのINT J = 1。 ; J <= I; J ++
            F [I] [J] = MAX(F [I - 1 ] [J - 1 ] + A [I]、[J]、F [I - 1 ] [J] + A [I] [J]);
     INT = RES - INF;
     のためint型 I = 1。最大= RES(RES、F [N-] [I]);;; I <= N-I ++)//は、最後の行の最大値を取得する 
    のprintf(" %Dを\ N- " 、RES);
     戻り 0 ; 
}

 

 

 

おすすめ

転載: www.cnblogs.com/QingyuYYYYY/p/11886726.html