Cod sursa(job #525628)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 25 ianuarie 2011 18:01:08
Problema Jocul Flip Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1 kb
var     a,b:array[1..16,1..16] of longint;
        v:array[1..32] of integer;
        s,s2:longint;
        m,n:integer;

procedure citire;
var     i,j:integer;
        f:text;
begin
  assign(f,'flip.in');
  reset(f);
  read(f,n,m);
  for i:=1 to n do
  for j:=1 to m do
  read(f,a[j,i]);
  close(f);
end;

procedure afis;
var     f:text;
begin
  assign(f,'flip.out');
  rewrite(f);
  write(f,s);
  close(f);
end;

function suma:longint;
var     i,j:integer;
        s:longint;
begin
  suma:=0;
  for i:=1 to m do begin
  s:=0;
  for j:=1 to n do
  s:=s+b[i,j];
  suma:=suma+abs(s);
  end;
end;

procedure comuta;
var     i,j:integer;
begin
  b:=a;
  for i:=1 to n do
  for j:=1 to m do
  if v[i]=1 then b[j,i]:=b[j,i]*(-1);
  s2:=suma;
  if s2>s then s:=s2;
end;

procedure bin(p:integer);
begin
  if p>n then comuta
  else begin
        v[p]:=0;
        bin(p+1);
        v[p]:=1;
        bin(p+1);
       end;
end;

Begin
citire;
s:=0;
bin(1);
afis;
end.