Cod sursa(job #214908)

Utilizator lianaliana tucar liana Data 16 octombrie 2008 19:17:56
Problema Jocul Flip Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.31 kb
program flip;
var f, g:text;
    s, st, n, m, i, j, ii, l, c, jj, jjj:longint;
    gasit:boolean;
    a, b:array[1..16,1..16] of longint;
  begin
    assign(f,'flip.in'); reset(f);
    assign(g,'flip.out'); rewrite(g);
    readln(f,n,m);
    for i:=1 to n do
      for j:=1 to m do
        read(f,a[i,j]);
    gasit:=true;
    while gasit do
      begin
        gasit:=false;
        for jj:=1 to n do
          for jjj:=1 to m do
            b[jj,jjj]:=a[jj,jjj];
        for i:=1 to n do
          for j:=1 to m do
            begin

              l:=i;
              c:=j;
              s:=0;
              for ii:=1 to m do
                s:=s+a[l,ii];
              for ii:=1 to n do
                s:=s+a[ii,c];
              s:=s-a[l,c];
              if s<0 then
                begin
                  for ii:=1 to m do
                    b[l,ii]:=a[l,ii]*(-1);
                  for ii:=1 to n do
                    b[ii,c]:=a[ii,c]*(-1);
                  gasit:=true;
               end;
              if gasit then
                for jj:=1 to n do
                  for jjj:=1 to m do
                    a[jj,jjj]:=b[jj,jjj];
            end;
      end;
    for i:=1 to n do
      for j:=1 to m do
        st:=st+a[i,j];
    writeln(g,st);
    close(f);
    close(g);
  end.