Sunteți pe pagina 1din 1

Laborator 9.

Tehnica reluării – backtracking


1. Se citesc numărul n. Să se afișeze toate perutările mulțimii {1, 2, 3, …, n} în fișierul perm.txt.
2. Se citesc două numere naturale nenule n și m. Să se afișeze în ordine lexicografică, toate aranjamentele
de câte k elemente ale mulțimii {1, 2, 3, …, n}.
3. Sa se genereze toate numere binare de 7 cifre care să aibă 3 cifre de "0" si 4 cifre de "1".
4. Se consideră mulţimea B= {b1, b2,…,bn} formată din primele n litere ale alfabetului latin. Elaboraţi un
program bazat pe metoda reluării care generează toate submulţimie Bi, Bi ⊆ B, formate exact din q
litere.
Indicaţie. Fiecare submulţime Bi poate fi reprezentată prin vectorul caracteristic X= ║xk ║n, unde

1, dacă bk €Bi
xk=
0, în caz contrar.
xk=
Este clar că submulţimea Bi satisface condiţiile problemei dacă x1 + x2 +...+ xn = q.

5. Elaboraţi un program care afişează la ecran toate modurile de a descompune un număr natural în sumă de
k numere naturale distincte. De exemplu, pentru n =9 şi k =3 soluţiile sunt: 1+2+6, 2+3+4, 1+3+5.
6. Avem la dispoziţie 6 culori: alb, galben, roşu, verde, albastru şi negru. Să se precizeze toate drapelele
tricolore care se pot proiecta, ştiind că trebuie respectate următoarele reguli:
• orice drapel are culoarea din mijloc galben sau verde;
• cele trei culori de pe drapel sunt distincte.
Exemple: "alb galben roşu", "roşu verde galben"
Indicatii: Folosim o stivă cu 3 nivele, reprezentând cele trei culori de pe drapel şi codificăm culorile prin
numere: 1 – alb 2 – galben 3 – roşu 4 – verde 5 – albastru 6 - negru

S-ar putea să vă placă și