Cod sursa(job #362053)

Utilizator energizerBunnyCicu Mihai energizerBunny Data 7 noiembrie 2009 20:06:39
Problema Jocul Flip Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.99 kb
program pascal;
type
 mat = array[1..100,1..100] of integer;
 vect = array[1..30] of integer;
var
 a:mat;
 x:vect;
 max:integer;
 m,n,i,j:integer;
 f:text;

procedure validare_max(maxim:integer);
Begin
  if max<maxim then
   max:=maxim;
End; {de la procedura validare_max}

procedure prel_sol;
var
 maxim:integer;
Begin
 maxim:=0;
 for i:=1 to m do
  for j:=1 to n do
   maxim:=maxim+a[i,j]*x[i]*x[m+j];
 validare_max(maxim);
End; {de la procedura prel_sol}

procedure back;
var k:integer;
Begin
 for k:=1 to m+n do
  x[k]:=-3;
 k:=1;
 while k>0 do
  if k=m+n+1 then begin
   prel_sol;
   dec(k);
  end
  else if x[k]<=-1 then begin
   x[k]:=x[k]+2;
   inc(k);
  end
  else begin
   x[k]:=-3;
   dec(k);
  end;
End; {de la procedura back}

begin
 assign(f,'flip.in');
 reset(f);
 readln(f,m,n);
 for i:=1 to m do
  for j:=1 to n do
   read(f,a[i,j]);
 close(f);

 back;

 assign(f,'flip.out');
 rewrite(f);
 write(f,max);
 close(f);
 readln;
end.