Pagini recente » Cod sursa (job #1861045) | Cod sursa (job #2968021) | Cod sursa (job #1674339) | Cod sursa (job #213024) | Cod sursa (job #51649)
Cod sursa(job #51649)
program flip;
var f:text;
n,m,i,j:byte;
t:array[1..16,1..16] of longint;
e:longint;
control:boolean;
function okr(r:byte):boolean;
var i:byte;
po,no:longint;
begin
po:=0;no:=0;
for i:=1 to m do
if(t[r,i] >= 0) then po:=po+t[i,j]
else no:=no+t[i,j];
if(abs(no) > abs(po)) then okr:=true
else okr:=false;
end;
function okc(c:byte):boolean;
var i:byte;
po,no:longint;
begin
po:=0;no:=0;
for i:=1 to n do
if(t[i,c] >= 0) then po:=po+t[i,j]
else no:=no+t[i,j];
if(abs(no) > abs(po)) then okc:=true
else okc:=false;
end;
begin
assign(f,'flip.in');
reset(f);
readln(f,n,m);
for i:=1 to n do
begin
for j:=1 to m do
read(f,t[i,j]);
readln(f);
end;
close(f);
control:=false;
while not(control) do
begin
control:=true;
for i:=1 to n do
if okr(i) then
begin
control:=false;
for j:=1 to m do
t[i,j]:=-1*t[i,j];
end;
for j:=1 to m do
if okc(j) then
begin
control:=false;
for i:=1 to n do
t[i,j]:=-1*t[i,j];
end;
end;
e:=0;
for i:=1 to n do
for j:=1 to m do
e:=e+t[i,j];
assign(f,'flip.out');
rewrite(f);
writeln(f,e);
close(f);
end.