![]() XHost |
Oferim servicii de instalare, configurare si monitorizare servere linux (router, firewall, dns, web, email, baze de date, aplicatii, server de backup, domain controller, share de retea) de la 50 eur / instalare. Pentru detalii accesati site-ul BluePink. |
Backtracking
Program aranjamente;
const nmax=25;
type vector=array[1..nmax] of integer
var x:vector; n:integer;
Procedure CITIRE;
begin
  write('n=');readln(n);
end;
Procedure INIT(k:integer);
begin
  x[k]:=0;
end;
Procedure EXISTA(k:integer):boolean;
begin
  EXISTA:=(x[k]'<'n);
end;
Function CONT(k:integer):boolean;
var i:integer;
begin
  CONT:=TRUE;
   for i:=1 to k-1 do
    if x[i]=x[k] then
     CONT:=FALSE;
end;
Function SOLUTIE(k:integer):boolean;
begin
   SOLUTIE:=(k=n);
end;
Procedure TIPAR(k:integer);
var i:integer;
begin
   for i:=1 to k do
  write(x[i]:3);
end;
Procedure BKT;
var k:integer;
begin
   k:=1;
   INIT(k);
   while k'>'0 do
    if EXISTA(k) then
     begin
      x[k]:=x[k]+1;
      if CONT(k) then
      if SOLUTIE(k) then
      TIPAR(k)
     else
    begin
     k:=k+1;
     INIT(k);
    end;
    end
    else
     k:=k-1;
end;
begin{p.p}
CITIRE;
BKT;
readln;
end.