Pagini recente » Cod sursa (job #2858352) | Cod sursa (job #2604408) | Cod sursa (job #2393576) | Cod sursa (job #1462966) | Cod sursa (job #308639)
Cod sursa(job #308639)
{ http://infoarena.ro/problema/flip }
type matrice = array[1..16,1..16] of longint;
stiva = array[1..16] of shortint;
var
f, g : text;
a : matrice;
st : stiva;
i, j, n, m : byte;
smax : longint;
procedure suma;
var i, j : byte;
s, slin : longint;
begin
s := 0;
for i := 1 to n do
begin
slin := 0;
for j := 1 to m do
slin := slin + st[j] * a[i,j];
if slin < 0 then s := s - slin
else s := s + slin;
end;
if s > smax then smax := s;
end;
procedure back(i : integer);
begin
if i > m then suma
else begin
st[i] := 1;
back(i + 1);
st[i] := -1;
back(i + 1);
end;
end;
BEGIN
assign(f, 'flip.in'); reset(f);
assign(g, 'flip.out'); rewrite(g);
readln(f, n, m);
for i := 1 to n do
for j := 1 to m do
read(f, a[i,j]);
smax := -maxlongint;
back(1);
writeln(g, smax);
close(f); close(g);
END.