Cod sursa(job #344845)

Utilizator energizerBunnyCicu Mihai energizerBunny Data 31 august 2009 19:40:45
Problema Jocul Flip Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.09 kb
Program pascal;
Type
 mat = array[1..16,1..16] of -1000000..1000000;
var
 a: mat;
 f: text;
 m,n,i,j,k: 1..16;
 spoz,sneg,s: longint;
 sem: boolean;
Begin
  assign(f,'flip.in');
  reset(f);
  read(f,n);
  read(f,m);
  for i:= 1 to n do
   for j:= 1 to m do
    read(f,a[i,j]);
  close(f);
  sem:= true;
while not(sem) do Begin
  sem:= true;
  for j:= 1 to m do Begin
    spoz:=0;
    sneg:=0;
    for i:= 1 to n do
     if a[i,j] > 0 then
       spoz := spoz + a[i,j]
     else sneg := sneg +a[i,j];
    if (sneg*(-1) >= spoz) then begin
     for k:= 1 to n do
       a[k,j]:=a[k,j] * (-1);
     sem := false;
    end;
  End;

  for i:= 1 to n do Begin
    spoz := 0;
    sneg := 0;
    for j:= 1 to m do
     if a[i,j] > 0 then
      spoz := spoz + a[i,j]
     else sneg:= sneg + a[i,j];
    if (sneg*(-1) >= spoz) then begin
     for k:= 1 to m do
      a[i,k] := a[i,k] * (-1);
     sem := false;
    end;
  End;
End; {while}

  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.