Cod sursa(job #557238)

Utilizator sergiu.apostulApostul Sergiu sergiu.apostul Data 16 martie 2011 15:25:29
Problema Jocul Flip Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.95 kb
program pbl03;
type matrice=array[1..20,1..20] of longint;
var a:matrice;
    m,n,i,j,sn,sp,s,d:longint;
    f:text;
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,a[i,j]);
   readln(f);
  end;
 close(f);
repeat
 d:=0;
 for i:=1 to n do
  begin
   for j:=1 to m do
    if a[i,j]>=0 then
     sp:=sp+a[i,j]
    else
     sn:=sn+a[i,j];
    if sp<sn*(-1) then
     begin
      inc(d);
      for j:=1 to m do
       a[i,j]:=a[i,j]*-1;
     end;
    sp:=0;
    sn:=0;
   end;
 for i:=1 to m do
  begin
   for j:=1 to n do
    if a[j,i]>=0 then
     sp:=sp+a[j,i]
    else
     sn:=sn+a[j,i];
   if sp<sn*(-1) then
    begin
     inc(d);
     for j:= 1 to n do
      a[j,i]:=a[j,i]*-1;
    end;
   sp:=0;
   sn:=0;
  end;
until d=0;

 for i:=1 to n do
  for j:=1 to m do
   s:=s+a[i,j];
 assign(f,'flip.out');
 rewrite(f);
 write(f,s);
 close(f);
end.