Pagini recente » Cod sursa (job #973319) | Cod sursa (job #1153600) | Istoria paginii runda/simulare_tractoare/clasament | Cod sursa (job #191777) | Cod sursa (job #1528621)
program flip;
var f,g:textfile;
a:array[1..20,1..20] of longint;
m,n,i,j:byte;
s,k,sum,k1,k2:longint;
begin
assign(f,'flip.in');reset(f);
assign(g,'flip.out');rewrite(g);
read(f,n,m);
k1:=1;k2:=1;
for i:=1 to n do
for j:=1 to m do read(f,a[i,j]);
while (k1>0) and (k2>0) do begin
k1:=0;k2:=0;
for i:=1 to n do begin k:=0;s:=0;
for j:=1 to m do
begin
if a[i,j]>=0 then s:=s+a[i,j] else
k:=k+a[i,j];
end;
if abs(s)<abs(k) then for j:=1 to m do
a[i,j]:=-1*a[i,j];
if abs(k)>abs(s) then
inc(k1);
end;
for j:=1 to m do begin k:=0;s:=0;
for i:=1 to n do
begin
if a[i,j]>=0 then s:=s+a[i,j] else
k:=k+a[i,j];
end;
if abs(s)<abs(k) then for i:=1 to n do a[i,j]:=-1*a[i,j];
if abs(k)>abs(s) then
inc(k2);
end;
end;
for i:=1 to n do
for j:=1 to m do
sum:=sum+a[i,j];
writeln(g,sum);
close(f);
close(g);
end.