Pagini recente » Cod sursa (job #2640148) | Cod sursa (job #86127) | Cod sursa (job #284253) | Cod sursa (job #285592) | Cod sursa (job #285546)
Cod sursa(job #285546)
var a,b:array[1..16,1..16] of -1000000..1000000;
n,m,i,j:1..16;
ok:boolean;
f,g:text;
s,ss,s1,s2:longint;
begin
assign(f,'flip.in');
reset(f);
assign(g,'flip.out');
rewrite(g);
read(f,n,m);
for i:=1 to n do
for j:=1 to m do read(f,a[i,j]);
repeat
ok:=true;
for i:=1 to n do
for j:=1 to m do
b[i,j]:=a[i,j];
for i:=1 to n do
begin
ss:=0;
for j:=1 to m do
ss:=ss+a[i,j];
if ss<0 then
begin
for j:=1 to m do a[i,j]:=a[i,j]*(-1);
ok:=false;
end;
end;
for j:=1 to m do
begin
ss:=0;
for i:=1 to n do
ss:=ss+a[i,j];
if ss<0 then
begin
ok:=false;
for i:=1 to n do a[i,j]:=a[i,j]*(-1);
end;
end;
s1:=0;
for i:=1 to n do
for j:=1 to m do
s1:=s1+a[i,j];
for j:=1 to m do
begin
ss:=0;
for i:=1 to n do
ss:=ss+b[i,j];
if ss<0 then
begin
ok:=false;
for i:=1 to n do b[i,j]:=b[i,j]*(-1);
end;
end;
for i:=1 to n do
begin
ss:=0;
for j:=1 to m do
ss:=ss+b[i,j];
if ss<0 then
begin
for j:=1 to m do b[i,j]:=b[i,j]*(-1);
ok:=false;
end;
end;
for i:=1 to n do
for j:=1 to m do
s2:=s2+b[i,j];
if s2>s1 then
for i:=1 to n do
for j:=1 to m do
a[i,j]:=b[i,j];
until ok;
for i:=1 to n do
for j:=1 to m do
s:=s+a[i,j];
write(g,s);
close(f);
close(g);
end.