Cod sursa(job #1530798)

Utilizator gra99Graur Gabriel gra99 Data 21 noiembrie 2015 12:52:12
Problema Jocul Flip Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.53 kb
program flip;
   var f,g:textfile;
   a:array[1..17,1..17] of longint;
   m,n,i,j:byte;
   s,k,sum,k1,k2:longint;
 begin
 assign(f,'flip.in');reset(f);
 assign(g,'flip.out');rewrite(g);
 read(f,n,m);
 k1:=1;k2:=1;
 for i:=1 to n do
     for j:=1 to m do read(f,a[i,j]);
  while (k1>0) or (k2>0) do begin
                         k1:=0;k2:=0;
  for i:=1 to n do begin k:=0;s:=0;
     for j:=1 to m do
                      begin
                      if a[i,j]>=0 then s:=s+a[i,j] else
                                                      k:=k+a[i,j];
                      end;
                      if abs(s)<=abs(k) then for j:=1 to m do
                                                   a[i,j]:=-1*a[i,j];
                      if abs(k)>=abs(s) then
                                        inc(k1);
                                        end;
 for j:=1 to m do begin  k:=0;s:=0;
               for i:=1 to n do
                                begin
                                 if a[i,j]>=0 then s:=s+a[i,j] else
                                                                  k:=k+a[i,j];
                                 end;
                                 if abs(s)<=abs(k) then   for i:=1 to n do a[i,j]:=-1*a[i,j];
                              if abs(k)>=abs(s) then
                                              inc(k2);
                      end;
                      end;

 for i:=1 to n do
         for j:=1 to m do
                     sum:=sum+a[i,j];
 writeln(g,sum);
 close(f);
 close(g);
 end.