Cod sursa(job #575356)

Utilizator doruletzPetrican Teodor doruletz Data 8 aprilie 2011 10:40:20
Problema Jocul Flip Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.93 kb
var d,a:array[0..17,0..17]of longint;
    aa:array[0..17] of 0..1;
    i,s,max,j,n,k,m,s1,s2,cont,nr:longint;
    t:text;

procedure baza(x:longint);
var i:longint;
begin
 for i:=1 to m do aa[i]:=0;
 
 cont:=0;
 while x<>0 do begin 
  inc(cont);
  aa[cont]:=x mod 2;
  x:=x shr 1;
  
  if aa[cont]=0 then for i:=1 to n do d[i,cont]:=-a[i,cont];
  if aa[cont]=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 n 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;
 end;
 
 nr:=nr shr 1;
 nr:=nr-1;
 
 for i:=1 to nr do baza(i);
 
 close(t);
 assign(t,'sir.out'); rewrite(t);
 writeln(t,max);
 close(t);
end.