Pagini recente » Cod sursa (job #1317780) | Cod sursa (job #1351557) | Cod sursa (job #2707241) | Cod sursa (job #1134380) | Cod sursa (job #23521)
Cod sursa(job #23521)
Program Flip;
type dom=-1000000..1000000;
info=record
linie:byte;
dif:longint;end;
var f,g:text;
inf,inf2:info;
tabla:array [1..16,1..16] of dom;
x,y,z,w:dom;
i,j,n,m:byte;
suma:longint;
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,tabla[j,i]);
if m<n then begin
inf.dif:=1;inf.linie:=1;inf2.dif:=1;inf2.linie:=1;
while (inf.linie<>0) or (inf2.linie<>0) do begin
inf.dif:=0;inf.linie:=0;inf2.dif:=0;inf2.linie:=0;
for i:=1 to m do begin
x:=0;y:=0;
for j:=1 to n do begin
if tabla[i,j]>0 then x:=x+tabla[i,j]
else y:=y+(-tabla[i,j]);end;
if (y>x) and ((y-x)>inf.dif) then begin
inf.linie:=i;inf.dif:=y-x;end;
end;
for i:=1 to n do begin
z:=0;w:=0;
for j:=1 to m do begin
if tabla[j,i]>0 then z:=z+tabla[j,i]
else w:=w+(-tabla[j,i]);end;
if (w>z) and ((w-z)>inf2.dif) then begin
inf2.linie:=i;inf2.dif:=w-z;end;
end;
if inf.dif>inf2.dif then for j:=1 to n do
tabla[inf.linie,j]:=-tabla[inf.linie,j]
else for j:=1 to m do
tabla[j,inf2.linie]:=-tabla[j,inf2.linie];
End;
End;
if m>=n then begin
inf.dif:=1;inf.linie:=1;inf2.dif:=1;inf2.linie:=1;
while (inf.linie<>0) or (inf2.linie<>0) do begin
inf.dif:=0;inf.linie:=0;inf2.dif:=0;inf2.linie:=0;
for i:=1 to n do begin
z:=0;w:=0;
for j:=1 to m do begin
if tabla[j,i]>0 then z:=z+tabla[j,i]
else w:=w+(-tabla[j,i]);end;
if (w>z) and ((w-z)>inf2.dif) then begin
inf2.linie:=i;inf2.dif:=w-z;end;
end;
for i:=1 to m do begin
x:=0;y:=0;
for j:=1 to n do begin
if tabla[i,j]>0 then x:=x+tabla[i,j]
else y:=y+(-tabla[i,j]);end;
if (y>x) and ((y-x)>inf.dif) then begin
inf.linie:=i;inf.dif:=y-x;end;
end;
if inf.dif>inf2.dif then for j:=1 to n do
tabla[inf.linie,j]:=-tabla[inf.linie,j]
else for j:=1 to m do
tabla[j,inf2.linie]:=-tabla[j,inf2.linie];
End;
End;
for i:=1 to m do
for j:=1 to n do
suma:=suma+tabla[i,j];
Write(g,suma);close(f);close(g);
End.