← Toate simulatoarele
Metoda backtracking · explorarea labirintului

Explorarea labirintului — simulator pas cu pas

♛ Reginele Labirint Comis-voiajor
Labirint: pas 0 / 0
startApasă „Pas înainte" ca să urmărești robotul care caută ieșirea. Când dă de o fundătură, se întoarce (demarchează celula) și încearcă altă direcție — asta e backtracking-ul.

Enunțul problemei

Labirintul e o matrice n × m: 0 = celulă liberă, 1 = perete. Pornind din colțul stânga-sus (1, 1) se caută un drum până în colțul dreapta-jos (n, m), deplasându-ne doar pe orizontală/verticală, fără a trece prin pereți sau de două ori prin aceeași celulă.

Labirintul IN → OUT

■ perete■ drum curent ◻ celula curentă◻ blocat

Stiva drumului celulele din traseul curent

Starea execuției

celula curentă
lungime drum0
gasit0

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 drumuri încercate

fiecare stivă = drumul de la intrare (jos = (1,1)) până la celula curentă · ■ înaintare · ■ fundătură (revenire) · ■ drum până la ieșire