💻 Lecții C++ & Python🏠 Home
Backtracking în Plan: Labirint, Algoritmul Fill | Clasa 11
◀Problema Reginelor în C++ (Backtracking)Șiruri de Caractere în C++: char, cin.getline▶
Se pregătesc resursele...

📘 Lecție de C++ pentru clasa a 11-a și olimpiadă, cu explicații video de la profesor. Mai jos ai rezumatul. În lecția completă găsești aplicații rezolvate cu simulator, în care vezi pas cu pas cum se schimbă variabilele, compilator C++ în browser, exerciții propuse cu indicii și rezolvare, și pe Alex, asistentul care îți dă indicii, îți explică algoritmul și îți corectează codul.

🎯 Apare la BAC? Nu. Backtracking-ul în plan și algoritmul fill sunt pentru olimpiadă.

Parcurgerea celor 4 vecini

int dx[] = {-1, 0, 1, 0};
int dy[] = {0, 1, 0, -1};

void bt(int x, int y) {
    if (x == xf && y == yf) { afiseaza(); return; }
    for (int d = 0; d < 4; d++) {
        int nx = x + dx[d], ny = y + dy[d];
        if (valid(nx, ny) && !viz[nx][ny]) {
            viz[nx][ny] = 1;
            bt(nx, ny);
            viz[nx][ny] = 0;
        }
    }
}

❓ Întrebări frecvente

1. Ce sunt vectorii de direcție dx și dy? Doi vectori care codifică deplasările sus, dreapta, jos, stânga, ca să parcurgi vecinii cu o singură buclă.

2. Cum marchez celulele vizitate? Cu o matrice viz: pui 1 când intri în celulă și 0 când revii din ea.

3. Câți vecini are o celulă în matrice? 4 (sus, jos, stânga, dreapta) sau 8 dacă se iau și diagonalele.

4. Ce este algoritmul fill? Un algoritm care umple o zonă dintr-o matrice pornind dintr-o celulă și extinzându-se recursiv la vecinii valizi.

5. Care e diferența dintre fill și backtracking în labirint? La fill o celulă vizitată rămâne marcată. La backtracking o demarchezi la revenire, ca să poți găsi toate drumurile.

Ce conține lecția completă?

  • ✅ Explicații video cu profesorul
  • ✅ Aplicații rezolvate cu simulator: vezi cum se schimbă variabilele la fiecare pas
  • ✅ Compilator C++ în browser: rulezi codul direct
  • ✅ Ieșirea din labirint
  • ✅ Algoritmul fill: umplerea unei zone
  • ✅ Cei 8 vecini, inclusiv diagonalele
  • ✅ Exerciții propuse cu indicii și rezolvare
  • ✅ Asistentul Alex: indicii, explicarea algoritmului, corectarea codului

Vezi și — alte lecții din același capitol