asdasf
cxhwd吧
全部回复
仅看楼主
level 13
cxhwd 楼主
program zhitiao01;var i,j,n,m,k:longint; a,f,g:array[0..100,0..100]of longint; function max(a,b:longint):longint; beginif(a>b)then beginmax:=a;g[i,j]:=1; end else beginmax:=b;g[i,j]:=0; end; end; function max2(a,b:longint):longint; begin if(a>b)then max2:=a else max2:=b;end;BEGIN read(n,m); for i:=1 to n dofor j:=1 to m do read(a[i,j]); fillchar(f,sizeof(f),0); for i:=1 to n dofor j:=1 to m do f[i,j]:=max(f[i-1,j],f[i,j-1])+a[i,j]; k:=f[n,m]; fillchar(f,sizeof(f),0); i:=n; j:=m; while (i>0)and(j>0)do; begin if(g[i,j]=1)then dec(i) else dec(j); a[i,j]:=max2(a[i-1,j],a[i,j-1]);end; for i:=1 to n dofor j:=1 to m do f[i,j]:=max2(f[i-1,j],f[i,j-1])+a[i,j]; writeln(k+f[n,m]);end.
2014年09月29日 05点09分 1
level 13
cxhwd 楼主
program zhitiao01;var i,j,n,m,k:longint; a,f,g:array[0..100,0..100]of longint; function max(a,b:longint):longint; beginif(a>b)then beginmax:=a;g[i,j]:=1; end else beginmax:=b;g[i,j]:=0; end; end; function max2(a,b:longint):longint; begin if(a>b)then max2:=a else max2:=b;end;BEGIN read(n,m); for i:=1 to n dofor j:=1 to m do read(a[i,j]); fillchar(f,sizeof(f),0); for i:=1 to n dofor j:=1 to m do f[i,j]:=max(f[i-1,j],f[i,j-1])+a[i,j]; k:=f[n,m]; fillchar(f,sizeof(f),0); i:=n; j:=m; while (i>0)and(j>0)do; begin if(g[i,j]=1)then dec(i) else dec(j); a[i,j]:=max2(a[i-1,j],a[i,j-1]);end; for i:=1 to n dofor j:=1 to m do f[i,j]:=max2(f[i-1,j],f[i,j-1])+a[i,j]; writeln(k+f[n,m]);end.
2014年09月29日 05点09分 2
level 13
cxhwd 楼主
program zhitiao01;
var
i,j,n,m,k:longint;
a,f,g:array[0..100,0..100]of longint;
function max(a,b:longint):longint;
begin
if(a>b)then
begin
max:=a;g[i,j]:=1;
end else
begin
max:=b;g[i,j]:=0;
end;
end;
function max2(a,b:longint):longint;
begin
if(a>b)then max2:=a
else max2:=b;
end;
BEGIN
read(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
fillchar(f,sizeof(f),0);
for i:=1 to n do
for j:=1 to m do
f[i,j]:=max(f[i-1,j],f[i,j-1])+a[i,j];
k:=f[n,m];
fillchar(f,sizeof(f),0);
i:=n; j:=m;
while (i>0)and(j>0)do;
begin
if(g[i,j]=1)then dec(i)
else dec(j);
a[i,j]:=max2(a[i-1,j],a[i,j-1]);
end;
for i:=1 to n do
for j:=1 to m do
f[i,j]:=max2(f[i-1,j],f[i,j-1])+a[i,j];
writeln(k+f[n,m]);
end.
2014年09月29日 05点09分 3
1