Pagini recente » Cod sursa (job #2244015) | Cod sursa (job #2654145) | Cod sursa (job #2921844) | Cod sursa (job #1174943) | Cod sursa (job #1571349)
program infoarena_flip;
type stiva=array[1..100]of -1..1;
var ams,ev:boolean;
m,n,k,max,sol:int64;
st:stiva;
a:array[1..16,1..16] of int64;
f:text;
procedure citire;
var i,j:int64;
begin
assign(f,'flip.in');reset(f);
read(f,n,m);
for i:=1 to n do
begin
readln(f);
for j:=1 to m do
read(f,a[i,j]);
end;
close(f);
end;
procedure tipar;
var i,j,s:int64;
b:array[1..16,1..16]of int64;
begin
for i:=1 to n do
for j:=1 to m do
b[i,j]:=a[i,j];
for i:=1 to n do
if st[i]=1 then for j:=1 to m do b[i,j]:=-b[i,j];
for i:=n+1 to n+m do
if st[i]=1 then for j:=1 to n do b[j,i-n]:=-b[j,i-n];
s:=0;
for i:=1 to n do
for j:=1 to m do
s:=s+b[i,j];
if s>max then max:=s;
end;
begin
citire;
max:=0;
k:=1;st[k]:=-1;
while (k>0) do
begin
repeat
ams:=(st[k]<1);
if ams then st[k]:=st[k]+1;
ev:=true;
until (not ams)or(ams and ev);
if ams then if (k=(m+n)) then tipar
else begin k:=k+1;st[k]:=-1;end
else k:=k-1;
end;
assign(f,'flip.out');rewrite(f);write(f,max);close(f);
end.