Pagini recente » Istoria paginii runda/blabla/clasament | Cod sursa (job #165570) | Cod sursa (job #871431) | Cod sursa (job #1180602) | Cod sursa (job #314239)
Cod sursa(job #314239)
const flip : array[1..2] of integer = (1,-1);
var fin, fout: text;
sol : array[0..17] of longint;
a : array[0..17,0..17] of longint;
n, m, i, j, suma:longint;
procedure calcul;
var i, j, s1, s2:longint;
begin
s1:=0;
for j := 1 to m do
begin
s2 := 0;
for i := 1 to n do
s2 := s2 + sol[i]*a[i,j];
s1 := s1 + abs(s2);
end;
if suma<s1 then suma:=s1;
end;
procedure backtracking(k:longint);
var i:longint;
begin
if k>n then
begin
calcul;
end
else
for i:=1 to 2 do
begin
sol[k]:=flip[i];
backtracking(k+1);
end;
end;
begin
assign(fin, 'flip.in');
reset(fin);
assign(fout, 'flip.out');
rewrite(fout);
read(fin,n,m);
for i:=1 to n do
for j:=1 to m do
read(fin,a[i,j]);
suma:=0;
backtracking(1);
writeln(fout, suma);
close(fin);
close(fout);
end.