Pagini recente » Cod sursa (job #1866835) | Cod sursa (job #1146589) | Cod sursa (job #2897310) | Cod sursa (job #1121829) | Cod sursa (job #1042128)
Program jocul_flip;
type vector=array[1..20] of boolean;
var i,j,sum,n,m,k:integer;
f,g:text;
a:array[1..20,1..20] of longint;
b:vector;
FUnction suma(var b:vector):integer;
var s,sf,x,y:integer;
begin
sf:=0;
for x:=1 to m do
begin
s:=0;
for y:=1 to n do
if b[y] then s:=s+(a[y,x]*(-1)) else s:=s+a[y,x];
sf:=sf+abs(s);
end;
suma:=sf;
end;
BEGIN
assign(f,'flip.in');
reset(f);
read(f,n,m);
sum:=0;
for i:=1 to n do
for j:=1 to m do
begin
read(f,a[i,j]);
sum:=sum+a[i,j];
end;
for i:=1 to (1 shl n)-1 do
begin
if odd(i) then
begin
for k:=1 to n do
b[k]:=false;
for j:=0 to n-1 do
if (1 shl j and i)>0 then b[j+1]:=true;
if suma(b)>sum then sum:=suma(b);
end;
end;
assign(g,'flip.out');
rewrite(g);
writeln(g,sum);
close(f);
close(g);
END.