Pagini recente » Cod sursa (job #3236558) | Cod sursa (job #3178447) | Cod sursa (job #3268768) | Cod sursa (job #3202561) | Cod sursa (job #1996494)
Program Flip;
type max = 1..16;
tab = array[max,max] of -1000000..1000000;
var n,m,i,j:max;
fl:tab;
semn: array[max] of 0..1;
a,maxim:longint;
f,g:text;
function Solutie:longint;
var i,j:max;
sum,s:longint;
begin
for i:=1 to n do begin
s:=0;
for j:=1 to m do
if semn[j] = 0 then
s:=s+fl[i,j]
else
s:=s-fl[i,j];
if s>0 then
sum:= sum+s
else
sum:= sum-s;
end;
Solutie:=s;
end;
procedure backtrack(var maxim:longint;k:max);
var x: longint;
begin
if k > m then begin
x:= solutie;
if x > maxim then maxim:= x;
exit;
end;
semn[k]:=0;
backtrack(k+1);
semn[k]:=1;
backtrack(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,fl[i,j]);
readln(f);
end;
Backtrack(1);
writeln(g,maxim);
close(f);close(g);
end.