Cod sursa(job #89431)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 6 octombrie 2007 20:18:03
Problema Jocul Flip Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.89 kb
Program Flip;
Var f:text;
    n,m,i,j,max,s,b,ii,ss,j1:longint;
    a:array[1..16,1..16] of longint;
    l,c:array[1..16] of byte;
Begin
  assign(f,'flip.in');
  reset(f);
  readln(f,n,m);
  for i:=1 to n do
     for j:=1 to m do read(f,a[i,j]);
  close(f);
  max:=-maxlongint;
  b:=1 shl n;
  for i:=0 to b do
     begin
      ii:=i;
      for j:=1 to n do l[j]:=0;
      for j:=1 to m do c[j]:=0;
      for j:=n downto 1 do begin l[j]:=ii mod 2; ii:=ii div 2; if ii=0 then break; end;
for j:=1 to m do begin ss:=0; for j1:=1 to n do if l[j1]=0 then ss:=ss+a[j1,j] else ss:=ss+-1*a[j1,j];if ss<0 then c[j]:=1;end;
      s:=0;
      for j:=1 to n do
         for j1:=1 to m do
            if l[j]+c[j1]=1 then s:=s+a[j,j1]*-1
                            else s:=s+a[j,j1];
      if s>max then max:=s;
     end;
  assign(f,'flip.out');
  rewrite(f);
  Writeln(f,max);
  close(f);
End.