Pagini recente » Cod sursa (job #2152776) | Cod sursa (job #495317) | Arhiva de probleme | Cod sursa (job #752666) | Cod sursa (job #344845)
Cod sursa(job #344845)
Program pascal;
Type
mat = array[1..16,1..16] of -1000000..1000000;
var
a: mat;
f: text;
m,n,i,j,k: 1..16;
spoz,sneg,s: longint;
sem: boolean;
Begin
assign(f,'flip.in');
reset(f);
read(f,n);
read(f,m);
for i:= 1 to n do
for j:= 1 to m do
read(f,a[i,j]);
close(f);
sem:= true;
while not(sem) do Begin
sem:= true;
for j:= 1 to m do Begin
spoz:=0;
sneg:=0;
for i:= 1 to n do
if a[i,j] > 0 then
spoz := spoz + a[i,j]
else sneg := sneg +a[i,j];
if (sneg*(-1) >= spoz) then begin
for k:= 1 to n do
a[k,j]:=a[k,j] * (-1);
sem := false;
end;
End;
for i:= 1 to n do Begin
spoz := 0;
sneg := 0;
for j:= 1 to m do
if a[i,j] > 0 then
spoz := spoz + a[i,j]
else sneg:= sneg + a[i,j];
if (sneg*(-1) >= spoz) then begin
for k:= 1 to m do
a[i,k] := a[i,k] * (-1);
sem := false;
end;
End;
End; {while}
for i:= 1 to n do
for j:= 1 to m do
s := s + a[i,j];
assign(f,'flip.out');
rewrite(f);
write(f,s);
close(f);
END.