All pastes #811193 Raw Edit

Something

public text v1 · immutable
·published 2007-12-10 18:24 UTC
rendered paste body
program backtrack;
 var v:array[1..50]of integer;
     db:integer;
PROCEDURE kiir(i:integer);
 var j:integer;
 begin
  inc(db);
  For j:=1 to i do
   If v[j]=1 then write('fizika ')
             else write('info ');
  readln;
 end;
FUNCTION jo(i:integer):boolean;
 var ok:boolean;
     db1,db2,j:integer;
 begin
  ok:=true;
  db1:=0;
  db2:=0;
  For j:=1 to i do
   If v[j]=1 then inc(db1);
   If v[j]=2 then inc(db2);
  If db1>3 then ok:=false;
  If db2>2 then ok:=false;
  jo:=ok;
 end;
PROCEDURE back(i:integer);
 var j:integer;
 begin
  For j:= 1 to 2 do begin
   v[i]:=j;
   If jo(i) then
    If i=5 then kiir(i)
           else back(i+1);
                    end;
 end;
{-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-}
begin
 db:=0;
 back(1);
 writeln(db,'. megoldas.');
 readln;
end.