CyberStars

Recap: Sector Scan

Combină recursivitatea, matricele (liste 2D) și căutarea binară


Misiune: Scanarea Sectorului

O scanare pe rază lungă întoarce o hartă a sectorului sub forma unei grile 2D (o listă de liste) păstrată într-o variabilă numită sector, unde:

  • 0 = spațiu liber
  • 1 = resturi
  • 2 = far

Adună tot din acest capitol: matrice, recursivitate și căutare binară:

numara_balize(sector): folosește bucle imbricate pe grilă ca să numeri câte faruri (2-urile) conține.

aplatizeaza_sortat(sector): restrânge grila 2D într-o listă sortată cu valorile unice care apar în ea.

gaseste_valoare(lista_sortata, tinta): folosește căutare binară recursivă ca să verifici dacă o valoare se află în lista sortată. Întoarce True sau False.

Testează cu:

print(f"Faruri: {numara_balize(sector)}")
plat = aplatizeaza_sortat(sector)
print(f"Valori unice: {plat}")
print(f"Are valoare far: {gaseste_valoare(plat, 2)}")
print(f"Are valoarea 3: {gaseste_valoare(plat, 3)}")

Ieșire

Faruri: 1
Valori unice: [0, 1, 2]
Are valoare far: True
Are valoarea 3: False