codevs 天梯 數字三角形

2021-07-26 12:24:55 字數 728 閱讀 7804

如圖所示的數字三角形,從頂部出發,在每一結點可以選擇向左走或得向右走,一直走到底層,要求找出一條路徑,使路徑上的值最大。

分析:很明顯dp,從下往上依次取最優解即可

**:const

maxn=200;

varf:array [0..maxn,0..maxn] of longint;

n:longint;

procedure init;

vari,j:longint;

begin

readln(n);

for i:=1 to n do

for j:=1 to i do

read(f[i,j]);

end;

function max(a,b:longint):longint;

begin

if a>b then

exit(a)

else

exit(b);

end;

procedure main;

vari,j:longint;

begin

for i:=n-1 downto 1 do

for j:=1 to i do

f[i,j]:=max(f[i+1,j],f[i+1,j+1])+f[i,j];

write(f[1,1]);

end;

begin

init;

main;

end.

Codevs 1220 數字三角形

codevs 1220 數字三角形 呃。大意是下面幾層的每乙個結點都可由上一層的左右兩個結點走來 大概就是 i,j 可由 i 1,j 1 或 i 1,j 而來 所以。a i,j max a i 1,j 1 a i 1 j x a i,j 表示走到第a i,j 的最大值,x表示讀入資料中第 i,j 位...

codevs1220 數字三角形

problem solution codes f i j 從 i,j 出發能獲得的最大值 裸dfs include include using namespace std int n,a 110 110 f 110 110 int dfs int i,int j int main f i j 從 i...

codevs 1220 數字三角形

時間限制 1 s 空間限制 128000 kb 題目等級 gold 如圖所示的數字三角形,從頂部出發,在每一結點可以選擇向左走或得向右走,一直走到底層,要求找出一條路徑,使路徑上的值最大。輸入描述 input description 第一行是數塔層數n 1 n 100 第二行起,按數塔圖形,有乙個或...