sxsxsx123890 2010-11-10 04:24:00
点我顶贴
收藏
删除
var i,j,n,m,k,max:integer;
a:array[1..100,1..100]of longint;
f:array[0..100,1..100]of longint;
w:array[1..100]of integer;
b:array[1..100,1..100]of longint;
s:array[1..100,1..100]of integer;
begin
readln(n,m);
for i:=1 to n do
begin
for j:=1 to m do
read(a[i,j]);
readln;
end;
for i:=1 to n do
for j:=1 to m do
begin
f[i,j]:=a[i,j];
for k:=i to j-1 do
if (a[i,j]+f[i-1,k]>f[i,j]) then
begin
f[i,j]:=a[i,j]+f[i-1,k];
b[i,j]:=k;
end;
end;
for i:=n to m do
begin
if f[n,i]>max then
begin
max:=f[n,i];
k:=i;
end;
end;
writeln(max);
i:=n;
while k<>0 do
begin
w[i]:=k;
k:=b[i,k];
dec(i);
end;
for i:=1 to n do
write(w[i],' ');
end.