[CODEVS1220]数字三角形

时间:2023-03-08 16:17:38

题目描述 Description
如图所示的数字三角形,从顶部出发,在每一结点可以选择向左走或得向右走,一直走到底层,要求找出一条路径,使路径上的值最大。
输入描述 Input Description
第一行是数塔层数N(1<=N<=100)。
第二行起,按数塔图形,有一个或多个的整数,表示该层节点的值,共有N行。
输出描述 Output Description
输出最大值。
样例输入 Sample Input
5
13
11 8
12 7 26
6 14 15 8
12 7 13 24 11
样例输出 Sample Output
86

var f:array[..,..] of longint;
a:array[..,..] of longint;
n:longint;
i1,j1:longint;
maxx:longint;
function max(x,y:longint):longint;
begin
if x>y then exit(x)
else exit(y);
end;
procedure shuzi(i,j:longint);
begin
if i=n then f[i,j]:=a[i,j];
if i>=n then exit;
if f[i,j]= then exit;
shuzi(i+,j);
shuzi(i+,j+);
f[i,j]:=a[i,j]+max(f[i+,j],f[i+,j+]);
end;
begin
read(n);
for i1:= to n do
for j1:= to i1 do
read(a[i1,j1]);
fillchar(f,sizeof(f),char(-));
shuzi(,);
writeln(f[,]);
end