Pagini recente » Cod sursa (job #2427255) | Cod sursa (job #3248135) | Cod sursa (job #923857) | Cod sursa (job #2910678) | Cod sursa (job #46567)
Cod sursa(job #46567)
var a:array[1..17,1..17]of longint;
colo,val,frec:array[1..100]of longint;
max1,max,aux,aux1,n,m,i,j,p,co,col,lin,sum:longint;
f1,f2:text;
begin
{assign(f1,'flip.in'); reset(f1);
assign(f2,'flip.out'); rewrite(f2); }
read({f1,}n);
read({f1,}m);
for i:=1 to n do
for j:=1 to m do
read({f1,}a[i,j]);
col:=0;
repeat
inc(col);
inc(co);
for i:=1 to n do
if a[i,col]<0 then
begin
inc(val[co]);
colo[co]:=col;
end;
until(col=m);
lin:=0;
repeat
inc(lin);
inc(co);
for j:=1 to m do
if a[lin,j]<0 then
begin
inc(val[co]);
colo[co]:=lin;
end;
until(lin=n);
max:=-1;
for i:=1 to m do
if max<val[i] then max:=val[i];
max1:=-1;
for i:=m+1 to m+n do
if max1<val[i] then max1:=val[i];
p:=0;
if max>max1 then
begin
for i:=1 to m do
if max=val[i] then
begin
inc(p);
frec[p]:=colo[i];
end;
for j:=1 to p do
for i:=1 to n do
a[i,frec[j]]:=a[i,frec[j]]*-1;
end
else
if max1>max then
begin
for i:=m+1 to m+n do
if max1=val[i] then
begin
inc(p);
frec[p]:=colo[i];
end;
for i:=1 to p do
for j:=1 to m do
a[frec[i],j]:=a[frec[i],j]*-1;
end
else
if max1=max then
begin
for i:=1 to m do
if max=val[i] then
begin
inc(p);
frec[p]:=colo[i];
end;
for j:=1 to p do
for i:=1 to n do
a[i,frec[j]]:=a[i,frec[j]]*-1;
p:=0;
for i:=m+1 to m+n do
if max1=val[i] then
begin
inc(p);
frec[p]:=colo[i];
end;
for i:=1 to p do
for j:=1 to n do
a[frec[i],j]:=a[frec[i],j]*-1;
end;
for i:=1 to n do
for j:=1 to m do
sum:=sum+a[i,j];
write({f2,}sum);
{close(f1);
close(f2);}
end.