← Toate simulatoarele
Metoda backtracking · problema reginelor

Problema reginelor — simulator pas cu pas

♛ Reginele Labirint Comis-voiajor
Dimensiunea tablei n: × n pas 0 / 0
startApasă „Pas înainte" ca să urmărești backtracking-ul: pe fiecare linie se încearcă coloanele, iar când o regină e atacată se revine la linia de sus. Poți schimba dimensiunea n (3–6).

Enunțul problemei

Pe o tablă de șah n × n să se așeze n regine astfel încât oricare două să nu se atace. O regină atacă pe linie, pe coloană și pe cele două diagonale. Soluția este vectorul st, unde st[k] = coloana reginei de pe linia k.

Tabla de șah o regină pe fiecare linie

♛ verde = așezată valid♛ portocaliu = se încearcă ♛ roșu = atacată (linia roșie)

Stiva st nivel = linie

Starea execuției

n (dimensiune)
nivel curent k
i (coloana din bt)
soluții găsite0
Soluții găsite (st[1] st[2] … st[n])

Cod C++ linia activă e evidențiată


    

Limbaj natural ce face pasul curent

start

Pseudocod schema recursivă backtracking


    

Parcurgerea (ilustrarea generării) rămâne tot șirul de stive încercate

fiecare stivă = o încercare (jos = st[1] = linia 1) · ■ validă · ■ atacată · ■ soluție