Pagini recente » Istoria paginii runda/concurstreiore | Cod sursa (job #2199064) | Cod sursa (job #207957) | Cod sursa (job #238439) | Cod sursa (job #1144)
Cod sursa(job #1144)
program flip;
type x1= array [1..16,1..16] of longint;
x2= array [1..16] of integer;
var a:x1;
sc,sl:x2;
suma,x,i,j,k,m,n:longint;
f,g:text;
begin
assign (f,'flip.in');
assign (g,'flip.out');
reset (f);
rewrite (g);
read (f,n,m);
suma:=0;
for i:=1 to n do
for j:=1 to m do
read (f,a[i,j]);
repeat
x:=0;
for i:=1 to n do
begin
for j:=1 to m do
sl[i]:=sl[i]+a[i,j];
if sl[i]<0 then
begin
x:=x+1;
for j:=1 to m do
a[i,j]:=-a[i,j];
end;
end;
for j:=1 to m do
begin
for i:=1 to n do
sc[j]:=sc[j]+a[i,j];
if sc[j]<0 then
begin
for i:=1 to m do
a[i,j]:=-a[i,j];
x:=x+1;
end;
end;
until x=0;
for i:=1 to n do
for j:=1 to m do
if sl[i]+sc[j]-a[i,j]<0 then
begin
sl[i]:=-sl[i];
sc[j]:=-sc[j];
for k:=1 to m do
a[i,k]:=-a[i,k];
for k:=1 to n do
a[k,j]:=-a[k,j];
end;
for i:=1 to n do
for j:=1 to m do
suma:=suma+a[i,j];
write (g,suma);
close (f);
close (g);
end.