Pagini recente » Cod sursa (job #2226414) | Cod sursa (job #405232) | Cod sursa (job #1331718) | Cod sursa (job #1038331) | Cod sursa (job #2093514)
Program Flip;
type tab=array[1..16,1..16] of -1000000..1000000;
mult=-1..1;
fli = array[1..16] of mult;
var a:tab;
fl:fli;
f,g:text;
m,n,i,j:1..16;
s:longint;
function Solut(a:tab):longint;
var i,j:1..16;
s,sol:longint;
begin
sol:=0;
for j:=1 to m do begin
s:=0;
for i:=1 to n do begin
s:=s+fl[i]*a[i,j];
//writeln('* ',fl[i]);
end;
sol:=sol+abs(s);
//writeln('<sol>',sol);
end;
solut:=sol;
end;
procedure backtrack(var max:longint; k:byte);
var i:byte;
s:longint; //sa - s anterior
begin
s:=0;
if k>n then begin
s:=solut(a);
if s>max then max:=s;
exit;
end;
fl[k]:=-1;
backtrack(max,k+1);
fl[k]:=1;
backtrack(max,k+1);
end;
begin
assign(f,'flip.in');
assign(g,'flip.out');
reset(f);
rewrite(g);
readln(f,n,m);
for i:=1 to n do begin
for j:=1 to m do
read(f,a[i,j]);
readln(f);
end;
backtrack(s,1);
writeln(g,s);
{readln;
readln;}
close(f);
close(g);
end.