Pagini recente » Cod sursa (job #1123266) | Cod sursa (job #2400250) | Cod sursa (job #1359291) | Cod sursa (job #1355747) | Cod sursa (job #164310)
Cod sursa(job #164310)
var f:text;
sum,max,i,j,n,m:integer;
s:array[1..17,1..17] of longint;
sol:array[1..17] of integer;
procedure back(nr:integer);
var k:integer;
begin
if nr=m+1 then
begin
{ intorc coloanele }
for i:=1 to m do
if sol[i]=2 then
for j:=1 to n do
s[j,i]:=s[j,i]*-1;
{ suma pe linii }
for i :=1 to n do
begin
s[i,17]:=0;
for j := 1 to m do
inc(s[i,17],s[i,j]);
end;
{ intorc linile }
for i :=1 to n do
if s[i,17] < 0 then
for j := 1 to m do
s[i,j]:=s[i,j]*-1;
{ suma }
sum:=0;
for i :=1 to n do
for j := 1 to m do
inc(sum,s[i,j]);
if sum>max then
max:=sum;
{ intorc inapoi coloanele }
for i:=1 to m do
if sol[i]=2 then
for j:=1 to n do
s[j,i]:=s[j,i]*-1;
end
else
begin
for k := 1 to 2 do
begin
sol[nr]:=k;
back(nr+1);
end;
end;
end;
begin
assign(f,'flip.in');reset(f);
read(f,n,m);
for i := 1 to n do
for j := 1 to m do
read(f,s[i,j]);
back(1);
assign(f,'flip.out');rewrite(f);
writeln(f,max);
close(f);
end.