Cod sursa(job #1144)

Utilizator cosmyudreaudrea cosmin cosmyudrea Data 12 decembrie 2006 19:23:08
Problema Jocul Flip Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.97 kb
program flip;
type x1= array [1..16,1..16] of longint;
     x2= array [1..16] of integer;
var a:x1;
    sc,sl:x2;
    suma,x,i,j,k,m,n:longint;
    f,g:text;
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,a[i,j]);

repeat
x:=0;
for i:=1 to n do
begin
for j:=1 to m do
sl[i]:=sl[i]+a[i,j];
if sl[i]<0 then
   begin
   x:=x+1;
   for j:=1 to m do
   a[i,j]:=-a[i,j];
   end;
end;
for j:=1 to m do
begin
for i:=1 to n do
sc[j]:=sc[j]+a[i,j];
if sc[j]<0 then
   begin
   for i:=1 to m do
   a[i,j]:=-a[i,j];
   x:=x+1;
   end;
end;

until x=0;

for i:=1 to n do
for j:=1 to m do
if sl[i]+sc[j]-a[i,j]<0 then
   begin
   sl[i]:=-sl[i];
   sc[j]:=-sc[j];
   for k:=1 to m do
   a[i,k]:=-a[i,k];
   for k:=1 to n do
   a[k,j]:=-a[k,j];
   end;

for i:=1 to n do
for j:=1 to m do
suma:=suma+a[i,j];

write (g,suma);
close (f);
close (g);
end.