1.
Funcţia back are
un parametru întreg k şi funcţionează astfel:
- dacă s-a ajuns la o soluţie, se tipăreşte şi
se revine
la nivelul anterior
void
back(int k)
{
if(solutie(k)) afis(x,k);
- dacă nu s-a ajuns la o soluţie
else
-
se
iniţializează nivelul
{
x[k]=0;
- atâta timp cât este
succesor pe acest nivel
while(succ(x,k))
{
- dacă este valid,
funcţia back se
autoapelează pentru k+1
valid(x,k,ev)
if(ev)
back(k+1);
- dacă nu este succesor, se
trece pe nivelul k-1 prin
ieşirea din funcţia back.
2.
Funcţia succ
verifică dacă mai sunt elemente în Sk.
3.
Funcţia valid
verifică dacă sunt satisfăcute condiţiile de continuare
4.
Funcţia afiş
afişează o soluţie rezultat
5.
Funcţia soluţie
returnează
1 dacă pe nivelul k s-a ajuns la
soluţie
0
dacă pe nivelul k nu s-a ajuns la soluţie
În
general funcţia soluţie se
defineşte astfel:
int
soluţie(int k)
{
return(k==n+1)
}
Niciun comentariu:
Trimiteți un comentariu