Cod sursa(job #285560)
var a:array[1..16,1..16] of -1000000..1000000;
n,m,i,j:1..16;
ok:boolean;
f,g:text;
s,ss,co:longint;
begin
assign(f,'flip.in');
reset(f);
assign(g,'flip.out');
rewrite(g);
read(f,n,m);
for i:=1 to n do
for j:=1 to m do read(f,a[i,j]);
repeat
co:=co+1;
ok:=true;
if co mod 2=0 then
begin
for j:=1 to m do
begin
ss:=0;
for i:=1 to n do
ss:=ss+a[i,j];
if ss<0 then
begin
ok:=false;
for i:=1 to n do a[i,j]:=a[i,j]*(-1);
end;
end;
for i:=1 to n do
begin
ss:=0;
for j:=1 to m do
ss:=ss+a[i,j];
if ss<0 then
begin
for j:=1 to m do a[i,j]:=a[i,j]*(-1);
ok:=false;
end;
end;
end
else
begin
for i:=1 to n do
begin
ss:=0;
for j:=1 to m do
ss:=ss+a[i,j];
if ss<0 then
begin
for j:=1 to m do a[i,j]:=a[i,j]*(-1);
ok:=false;
end;
end;
for j:=1 to m do
begin
ss:=0;
for i:=1 to n do
ss:=ss+a[i,j];
if ss<0 then
begin
ok:=false;
for i:=1 to n do a[i,j]:=a[i,j]*(-1);
end;
end;
end;
until ok;
for i:=1 to n do
for j:=1 to m do
s:=s+a[i,j];
write(g,s);
close(f);
close(g);
end.