讨论 / 为什么会错???????
woshiyaoxin 2010-09-21 04:01:00
点我顶贴 收藏 删除
var a,b:array[1..100,1..100] of longint;

f,v,i,j,k,c,d,m:longint;

procedure print(i,j:longint);

var n:integer;

begin

if i>0 then

begin

n:=i;

while a[i,n]<>j do n:=n+1;

print(i-1,j-b[i,n]);

write(n,' ');

end;

end;

begin

readln(f,v);

for i:=1 to f do

for j:=1 to v do read(b[i,j]);

c:=b[1,1];

for i:=2 to v do

if c<b[1,i] then

begin

a[1,i]:=b[1,i];

c:=b[1,i];

end

else a[1,i]:=c;

for i:=2 to f do

for j:=i to v-f+i do

begin

c:=-maxlongint;

for k:=i-1 to j-1 do

begin

d:=-maxlongint;

for m:=k+1 to j do

if b[i,m]>d then d:=b[i,m];

if d+a[i-1,k]>c then c:=d+a[i-1,k];

end;

a[i,j]:=c

end;

c:=-maxlongint;

for i:=f to v do

begin

if a[f,i]>c then c:=a[f,i];

end;

writeln(c);

print(f,c)

end.

查看更多回复
提交回复