Cod sursa(job #314239)

Utilizator alexandrasuteuAlexandra Suteu alexandrasuteu Data 10 mai 2009 22:51:03
Problema Jocul Flip Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.06 kb
const flip : array[1..2] of integer = (1,-1);

var fin, fout: text;
    sol : array[0..17] of longint;
    a : array[0..17,0..17] of longint;
    n, m, i, j, suma:longint;

procedure calcul;
var i, j, s1, s2:longint;
begin
     s1:=0;
     for j := 1 to m do
         begin
              s2 := 0;
              for i := 1 to n do
                  s2 := s2 + sol[i]*a[i,j];
              s1 := s1 + abs(s2);
         end;

     if suma<s1 then suma:=s1;
end;

procedure backtracking(k:longint);
var i:longint;
begin
     if k>n then
        begin
             calcul;
        end
     else
         for i:=1 to 2 do
             begin
                  sol[k]:=flip[i];
                  backtracking(k+1);
             end;
end;

begin
     assign(fin, 'flip.in');
     reset(fin);
     assign(fout, 'flip.out');
     rewrite(fout);
     read(fin,n,m);
     for i:=1 to n do
         for j:=1 to m do
             read(fin,a[i,j]);
     suma:=0;
     backtracking(1);
     writeln(fout, suma);
     close(fin);
     close(fout);
end.