level 1
Alice_Shim
楼主
RT,程序如下
var
f:array[-1000..6000,-1000..6000]of longint;
g:array[-1000..6000,-1000..6000]of longint;
i,j,k,n,m:longint;
function min(a,b:longint):longint;
begin
if(a>=b) then exit(b) else exit(a);
end;
begin
readln(n);
for i:=1 to n do
for j:=1 to i do
read(g[i,j]);
for i:=1 to n do
f[n,i]:=g[n,i];
for i:=n-1 downto 1 do
for j:=1 to i do
f[i,j]:=g[i,j]+min(f[i+1,j],f[i+1,j+1]);
writeln(f[1,1]);
end.



下标怎么会越界??没用指针啊
2017年12月15日 12点12分
1
var
f:array[-1000..6000,-1000..6000]of longint;
g:array[-1000..6000,-1000..6000]of longint;
i,j,k,n,m:longint;
function min(a,b:longint):longint;
begin
if(a>=b) then exit(b) else exit(a);
end;
begin
readln(n);
for i:=1 to n do
for j:=1 to i do
read(g[i,j]);
for i:=1 to n do
f[n,i]:=g[n,i];
for i:=n-1 downto 1 do
for j:=1 to i do
f[i,j]:=g[i,j]+min(f[i+1,j],f[i+1,j+1]);
writeln(f[1,1]);
end.



下标怎么会越界??没用指针啊