usaco 1.5 numtri 2008.5.6
{
ID:
PROG: numtri
LANG: PASCAL
}
{简单的dp}
program p_numtri;
const maxn=1000;
fin='numtri.in';fout='numtri.out';
var
f:array[0..maxn,0..maxn]of longint;
n,i,j:longint;
f1,f2:text;
procedure init;
begin
fillchar(f,sizeof(f),0);
assign(f1,fin);reset(f1);
assign(f2,fout);rewrite(f2);
read(f1,n);
for i:=1 to n do
for j:=1 to i do read(f1,f[i,j]);
end;
procedure doit;
begin
for i:=n-1 downto 1 do
for j:=1 to i do
if f[i+1,j]>f[i+1,j+1] then
f[i,j]:=f[i,j]+f[i+1,j]
elsef[i,j]:=f[i,j]+f[i+1,j+1];
end;
{-----------main-------------}
begin
init;
ifn<>1 then doit;
writeln(f2,f[1,1]);
close(f2);
close(f1);
end.