Sunteți pe pagina 1din 2

Probleme backtracking

1. Se citește de la tastatură un cuvânt format din cel mult 7 litere mici ale alfabetului englez. Să se
scrie un program care generează toate anagramele cuvântului citit.
2. Se citește un număr natural n. Să se scrie un program care generează toate permutările mulțimii
formate din n elemente astfel încât să nu existe pe poziții consecutive două numere de aceeași
paritate.
3. Se citește de la tastatură un cuvânt format din cel mult 10 litere mici ale alfabetului englez. Să se
scrie un program care generează toate anagramele cuvântului citit astfel încât să nu existe pe
poziții consecutive 2 vocale.
4. Se citeşte un număr natural nenul n, apoi n numere naturale distincte. Să se afişeze, în ordine
lexicografică, permutările mulţimii formate din cele n numere citite.
5. Se citeşte un număr natural nenul n, apoi n numere naturale distincte. Să se afişeze, în ordine
lexicografică, șirurile din cele n valori cu proprietatea că oricare două valori învecinate sunt
prime între ele.
6. Fie mulţimea M={1,2,..,n} şi P(1),P(2),...,P(n) o permutare a ei. Elementul x din M se numeşte
punct fix dacă P(x)=x. Se citeşte un număr natural nenul n. Să se afişeze, în ordine lexicografică,
permutările fără puncte fixe ale mulţimii {1,2,..,n}.
7. Se citesc de la tastatură două numere naturale n și m și apoi n cuvinte. Să se scrie un program
care generează toate mulțimile formate din m cuvinte.
8. Se citesc de la tastatură trei numere naturale n, a și b. Să se scrie un program care generează
toate mulțimile de lungime n cu numere din intervalul [a,b].
9. Se citesc de la tastatură 3 numere n, a și b. Să se scrie un program care generează toate soluțiile
cu numerele prime din intervalul [a,b] de lungime n.
10. Folosind modelul combinărilor și având la dispoziție cinci fructe diferite, un măr, o pară, o
gutuie, o caisă, o piersică, se utilizează metoda backtracking pentru a obține toate posibilitățile
de a forma grupe de câte trei fructe. Primele patru soluții obținute sunt, în această ordine: (măr,
pară, gutuie), (măr, pară, caisă), (măr, pară, piersică), (măr, gutuie, caisă). Scrieți ultimele două
soluții generate, în ordinea obținerii lor. Scrieți un program care generează toate soluțiile.
11. Utilizând metoda backtracking, se generează toate parfumurile formate prin amestecarea a câte
3 esențe distincte din mulţimea {agar, geranium, iasomie, paciuli, tuberoze}. Primele patru
soluţii obţinute sunt, în această ordine: (agar, geranium, iasomie), (agar, geranium, paciuli),
(agar, geranium, tuberoze) şi (agar, iasomie, paciuli). Indicaţi soluția generată imediat înainte de
(geranium, iasomie, paciuli). Scrieți un program care generează toate soluțiile.
12. Se dă o matrice pătratică cu n lini şi n coloane şi elemente numere naturale distincte.
Determinaţi cea mai mare sumă a n elemente din matrice, cu proprietatea că oricare două
elemente se află pe linii şi coloane distincte.
Exemplu:
4
12 16 5 4
11 14 6 7
8 2 3 17
10 9 13 15

Se va afișa 57

13. Problema comisului voiajor. Un comis voiajor trebuie să-și


prezinte produsele în toate cele n case numerotate de la 1 la n.
El trece prin fiecare casă exact o singură dată, și pleacă din casa
nr. 1 revenind în final în aceeași casă 1. Cunoscând legăturile
existente între case, se cere să se afișeze toate variantele de
deplasare posibile pe care le poate urma comisul – voiajor.

Pentru casele din figura alăturată, variantele posibile de deplasare sunt:

Implementare
Legăturile existente între orașe sunt date într-o matrice a cu n linii și n coloane. Elementele matricei a
pot fi 0 sau 1 (matricea este binară).

 1, dacă există drum între orașele i și j


 0, în caz contrar.

Se observă ca a[i,j] = a[j,i] oricare ar fi i,jϵ{1, 2, 3, …, n} – matricea este simetrică. Se folosește un


algoritm asemănător generării permutărilor, pornind de la pasul k=2.Pentru rezolvarea problemei
folosim stiva st. La baza stivei (nivelul 1) se încarcă numărul 1, deci st[1]=1.

14. Fiind dată o hartă cu n țări, se cer toate posibilitățile de colorare a hărții, utilizând cel mult 4
culori, astfel încât două țări cu frontieră comună să fie colorate diferit.

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