Cod sursa(job #11872)

Utilizator QbyxEros Lorand Qbyx Data 2 februarie 2007 00:50:41
Problema Jocul Flip Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.38 kb
program Flip;
type flipper = array[1..16,1..16] of longint;
var
  n, m, k: byte;
  matrix: flipper;
  maxi: longint;

procedure Load;
var
  f: text;
  i, j:byte;
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, matrix[i,j]);
    ReadLn(f);
    end;
  Close(f);
end;

procedure Ossz;
var i, j: byte;
    maxo: longint;
begin
maxo := 0;
  for i := 1 to n do
    for j := 1 to m do
      maxo := maxo + matrix[i,j];
if maxo > maxi then maxi := maxo;
end;

procedure Calc;
var i, j: byte;
    soro: longint;
begin
  for k := 1 to n*m do
    begin
      for i := 1 to n do
        begin
          soro := 0;
          for j := 1 to m do soro:=soro+matrix[i,j];
          if soro < 0 then
            begin
              for j := 1 to m do matrix[i,j]:= matrix[i,j] * (-1);
              Ossz;
            end;
        end;

      for i := 1 to m do
        begin
          soro := 0;
          for j := 1 to n do soro:=soro + matrix[j,i];
          if soro < 0 then
            begin
              for j := 1 to n do matrix[j,i]:= matrix[j,i] * (-1);
              Ossz;
            end;
        end;
    end;
end;

procedure Out;
var f: text;
begin
  Assign(f, 'flip.out');
  ReWrite(f);
  WriteLn(f, maxi);
  Close(f);
end;

begin
  Load;
  Calc;
  Out;
end.