Pagini recente » Cod sursa (job #2376053) | Cod sursa (job #1854724) | Cod sursa (job #2072110) | Cod sursa (job #1789915) | Cod sursa (job #362369)
Cod sursa(job #362369)
program pascal;
type
mat = array[1..16,1..16] of longint;
vect = array[1..32] of -3..1;
var
a:mat;
x:vect;
max,maxim:longint;
m,n,i,j:byte;
f:text;
procedure prel_sol;
Begin
maxim:=0;
for i:=1 to m do
for j:=1 to n do
maxim:=maxim+x[i]*x[m+j]*a[i,j];
if max<maxim then
max:=maxim;
End; {de la procedura prel_sol}
procedure back;
var k,k2:byte;
Begin
for k:=1 to m+n do
x[k]:=-1;
k:=m+n+1;
while k>0 do
if k=m+n+1 then begin
prel_sol;
k2:=k;
dec(k);
end
else if x[k]=-1 then begin
if k<k2 then
x[k]:=x[k]+2;
k2:=k;
inc(k);
end
else begin
x[k]:=-1;
k2:=k;
dec(k);
end;
End; {de la procedura back}
begin
assign(f,'flip.in');
reset(f);
readln(f,m,n);
for i:=1 to m do
for j:=1 to n do
read(f,a[i,j]);
close(f);
back;
assign(f,'flip.out');
rewrite(f);
write(f,max);
close(f);
end.