数字金字塔
題意
從最高點(diǎn)到底部任意處結(jié)束的路徑,使路徑經(jīng)過(guò)數(shù)字的和最大。每一步可以走到左下方的點(diǎn)也可以到達(dá)右下方的點(diǎn)。
分析
從最低層開(kāi)始走。
var
n,i,j:longint;
f,a:array[0..2000,0..2000]of longint;
function work(x,y:longint):longint;
begin
? ? if x>y then exit(x) else exit(y);
end;
begin
? ? readln(n);
? ? for i:=1 to n do
? ? begin
? ? ? ? for j:=1 to i do
? ? ? ? read(a[i,j]);
? ? ? ? readln;
? ? end;
? ? for i:=n downto 1 do
? ? for j:=1 to i do
? ? f[i,j]:=a[i,j]+work(f[i+1,j],f[i+1,j+1]);
? ? write(f[1,1]);
end.
轉(zhuǎn)載于:https://www.cnblogs.com/YYC-0304/p/9500203.html
總結(jié)
- 上一篇: 台阶问题
- 下一篇: [USACO1.5]数字金字塔 Numb