wuzw 2011-11-23 01:54:00
点我顶贴
收藏
删除
var i,j,i1,j1,i2,j2,m,n:integer;
w:array[0..50,0..50]of integer;
f:array[0..50,0..50,0..50,0..50]of longint;
function max(i,j,x,y:longint):longint;
begin
max:=i;
if j>max then max:=j;
if x>max then max:=x;
if y>max then max:=y;
end;
begin
readln(n);
repeat
read(i,j);
read(w[i,j]);
until i=0;
for i1:=1 to n do
for j1:=1 to n do
for i2:=1 to i1+j1 do
begin
j2:=i1+j1-i2;
f[i1,j1,i2,j2]:=max(f[i1-1,j1,i2-1,j2],f[i1,j1-1,i2,j2-1],f[i1-1,j1,i2,j2-1],
f[i1,j1-1,i2-1,j2])+w[i1,j1]+w[i2,j2];
end;
writeln(f[m,n,m,n]);
readln
end.