Cod sursa(job #129231)

Utilizator free2infiltrateNezbeda Harald free2infiltrate Data 28 ianuarie 2008 19:56:12
Problema Jocul Flip Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.9 kb
    var f,g1:text;
        i,j,g,n,m,h,s,max,k:longint;
        a:array[0..17,0..17] of longint;
        b,v:array[0..20] of longint;

    procedure flip;
    begin
    for g:=0 to 1 shl m-1 do
        begin
       s:=0;
       k:=g;
       j:=0;

       while k>0 do
       begin
       inc(j);
       v[j]:=k mod 2;
       k:=k div 2;
       end;

       for i:=1 to m do
       begin
       if v[i]=1 then
       h:=-1
       else h:=1;

       for j:=1 to n do
       b[j]:=b[j]+a[j,i]*h;
       end;

       for i:=1 to n do
       begin
       s:=s+abs(b[i]);
       b[i]:=0;
       end;


       if s>max then
       max:=s;
       end;
  end;

  begin
  assign(f,'flip.in');
  reset(f);
  assign(g1,'flip.out');
  rewrite(g1);
  read(f,n,m);
  for i:=1 to n do
  for j:=1 to m do
  read(f,a[i,j]);
  flip;
  writeln(g1,max);
  close(f);
  close(g1);
 end.