Cod sursa(job #575406)

Utilizator doruletzPetrican Teodor doruletz Data 8 aprilie 2011 11:53:13
Problema Jocul Flip Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.93 kb
type matrice=array[0..1000,0..1000]of longint;
var a,d:matrice;
    i,j,n,m,nr,max,cont,s:longint;
    t:text;

procedure baza(x:longint);
var i,s1,cop,s2,s,aa:longint;
begin
 cont:=0;
 cop:=x;
 while x<>0 do begin
  inc(cont);
  aa:=x mod 2;
  x:=x div 2;
  if aa=0 then for i:=1 to n do d[i,cont]:=-a[i,cont];
  if aa=1 then for i:=1 to n do d[i,cont]:=a[i,cont];
 end;

 s:=0;
 for i:=1 to n do begin
  s1:=0;
  s2:=0;
  for j:=1 to m do begin
   s1:=s1+d[i,j];
   s2:=s2-d[i,j];
  end;

  if (s1<s2) then
   s:=s+s2 else s:=s+s1;
 end;

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

begin
 assign(t,'flip.in'); reset(t);
 readln(t,n,m);
 nr:=1;
 for i:=1 to n do begin
  for j:=1 to m do begin
   nr:=nr*2;
   read(t,a[i,j]);
  end;
  readln(t);
 end;

 nr:=nr div 2;
 nr:=nr-1;
 close(t);


 max:=-maxlongint;
 for i:=0 to nr do baza(i);

 assign(t,'flip.out'); rewrite(t);
 writeln(t,max);
 close(t);
end.