probleme la metoda backtracking - …la+metoda... · 3. problema reginelor să se determine toate...

3
PROBLEME LA METODA BACKTRACKING 1. Generarea permutărilor Se citeşte un număr natural n. Să se genereze permutările de n elemente ale mulţimii {1,2,…,n}. Simulaţi executarea algoritmului pentru n=3. 2. Problema turelor Să se determine toate posibilităţile de aranjare a n ture pe o tablă de şah de dimensiune nxn astfel încât turele să nu se atace reciproc. Tura atacă piesele aflate pe aceeaşi linie sau coloană. 3. Problema reginelor Să se determine toate posibilităţile de aranjare a n regine pe o tablă de şah de dimensiune nxn astfel încât reginele să nu se atace reciproc. Regina atacă piesele aflate pe aceeaşi linie, coloană sau diagonală. 4. Generarea produsului cartezian Se citesc numerele naturale n şi p. Să se genereze toate elementele produsului cartezian P=AxAx...xA=A p , unde A={1,2,…,n}. 5. Generarea aranjamentelor Se citesc două numere naturale n şi p. Să se genereze toate aranjamentele de n elemente luate câte p ale mulţimii {1,2,…,n}. Simulaţi executarea algoritmului pentru n=4 şi p=2. 6. Generarea combinărilor Se citesc două numere naturale n şi p. Să se genereze toate combinările de n elemente luate câte p ale mulţimii {1,2,…,n}. Simulaţi executarea algoritmului pentru n=4 şi p=2. 7. Generarea submulţimilor Se citeşte numărul natural n. Să se genereze toate submulţimile mulţimii {1,2,…,n}. Simulaţi executarea algoritmului pentru n=3. 8. Generarea partiţiilor unui număr natural Se citeşte numărul natural n. Să se genereze toate modurile de descompunere a lui n ca sumă de numere naturale. Simulaţi executarea algoritmului pentru n=5. 9. Generarea partiţiilor Fie mulţimea A={1,2,…,n}. Se numeşte partiţie a mulţimii A, un set de kn mulţimi care îndeplinesc condiţiile de mai jos: a) A 1 UA 2 U…UA k =A b) A i A j =, i,j{1,2,…,n} 10. Plata unei sume cu bancnote de valori date Se dau suma S şi n tipuri de bancnote având valori a 1 ,a 2 ,…,a n lei. Se cer toate modalităţile de plată a sumei S utilizând aceste bancnote. Se presupune că se dispune de un număr suficient din fiecare tip de bancnotă.

Upload: vubao

Post on 07-Feb-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PROBLEME LA METODA BACKTRACKING - …LA+METODA... · 3. Problema reginelor Să se determine toate posibilităţile de aranjare a n regine pe o tablă de şah de dimensiune nxn

PROBLEME LA METODA BACKTRACKING

1. Generarea permutărilor

Se citeşte un număr natural n. Să se genereze permutările de n elemente ale mulţimii {1,2,…,n}.

Simulaţi executarea algoritmului pentru n=3.

2. Problema turelor

Să se determine toate posibilităţile de aranjare a n ture pe o tablă de şah de dimensiune nxn astfel

încât turele să nu se atace reciproc. Tura atacă piesele aflate pe aceeaşi linie sau coloană.

3. Problema reginelor

Să se determine toate posibilităţile de aranjare a n regine pe o tablă de şah de dimensiune nxn

astfel încât reginele să nu se atace reciproc. Regina atacă piesele aflate pe aceeaşi linie, coloană

sau diagonală.

4. Generarea produsului cartezian

Se citesc numerele naturale n şi p. Să se genereze toate elementele produsului cartezian

P=AxAx...xA=Ap, unde A={1,2,…,n}.

5. Generarea aranjamentelor

Se citesc două numere naturale n şi p. Să se genereze toate aranjamentele de n elemente luate

câte p ale mulţimii {1,2,…,n}. Simulaţi executarea algoritmului pentru n=4 şi p=2.

6. Generarea combinărilor

Se citesc două numere naturale n şi p. Să se genereze toate combinările de n elemente luate câte

p ale mulţimii {1,2,…,n}. Simulaţi executarea algoritmului pentru n=4 şi p=2.

7. Generarea submulţimilor

Se citeşte numărul natural n. Să se genereze toate submulţimile mulţimii {1,2,…,n}.

Simulaţi executarea algoritmului pentru n=3.

8. Generarea partiţiilor unui număr natural

Se citeşte numărul natural n. Să se genereze toate modurile de descompunere a lui n ca sumă de

numere naturale. Simulaţi executarea algoritmului pentru n=5.

9. Generarea partiţiilor

Fie mulţimea A={1,2,…,n}. Se numeşte partiţie a mulţimii A, un set de kn mulţimi care îndeplinesc

condiţiile de mai jos:

a) A1UA2U…UAk=A

b) AiAj=, i,j{1,2,…,n}

10. Plata unei sume cu bancnote de valori date

Se dau suma S şi n tipuri de bancnote având valori a1,a2,…,an lei. Se cer toate modalităţile de plată

a sumei S utilizând aceste bancnote. Se presupune că se dispune de un număr suficient din fiecare

tip de bancnotă.

Page 2: PROBLEME LA METODA BACKTRACKING - …LA+METODA... · 3. Problema reginelor Să se determine toate posibilităţile de aranjare a n regine pe o tablă de şah de dimensiune nxn

11. Problema colorării hărţilor

Fiind data o hartă cu n ţări, se cere toate soluţiile de colorare a hărţii, utilizând cel mult 4 culori,

astfel încât două ţări cu frontieră comună să fie colorate diferit.

12. Generarea permutărilor unui vector

Se citesc cele n elemente ale unui vector a de numere întregi. Să se genereze permutările de n

elemente ale mulţimii {a1,a2,…,an}. Simulaţi executarea algoritmului pentru n=3.

13. Generarea produsului cartezian a n mulţimi

Se citesc numărul de elemente a n mulţimi A1, A2,...An în vectorul a=(a1,a2,...,an). Să se genereze

toate elementele produsului cartezian P=A1xA2x...xAn, unde Ai={1,2,…,ai}.

14. Generarea aranjamentelor de n elemente luate câte p ale unui vector

Se citesc cele n elemente ale unui vector şi numărul natural p. Să se genereze toate aranjamentele

de n elemente luate câte p ale mulţimii {a1,a2,…,an}. Simulaţi executarea algoritmului pentru n=4

şi p=2.

15. Generarea combinărilor de n elemente luate câte p ale unui vector

Se citesc cele n elemente ale unui vector şi numărul natural p. Să se genereze toate combinările de

n elemente luate câte p ale mulţimii {a1,a2,…,an}. Simulaţi executarea algoritmului pentru n=4 şi

p=2.

16. Generarea submulţimilor unei mulţimi

Se citesc cele n elemente ale unei mulţimi reprezentată prin vectorul a. Să se genereze toate

submulţimile mulţimii {a1,a2,…,an}. Simulaţi executarea algoritmului pentru n=3.

17. Generarea partiţiilor unei mulţimi

Se citesc cele n elemente ale unei mulţimi reprezentată prin vectorul a. Să se genereze toate

partiţiiile mulţimii {a1,a2,…,an}. Simulaţi executarea algoritmului pentru n=3.

18. Anagrame

Se citeşte un cuvânt cu n litere. Se cere să se tipărească toate anagramele cuvântului citit. O

anagram a unui cuvânt reprezintă o rearanjare a literelor care formează cuvântul, astfel încât să

obţinem un cuvânt diferit, dar care are aceleaşi litere.

19. Ecuaţie cu numere naturale

Folosind metoda backtracking găsiţi toate soluţiile natural ale ecuaţiei: 3x+y+4xz=100.

20. Şiruri de 0 şi 1

Se citesc două numere naturale a şi b, reprezentând numărul de cifre de 1 şi respectiv de 0 dintr-un

şir de lungime a+b. Să se genereze toate şirurile de lungime a+b care pot fi formate respectând

această regulă, precum şi numărul acestora. Simulaţi executarea algoritmului pentru a=2 şi b=3.

Page 3: PROBLEME LA METODA BACKTRACKING - …LA+METODA... · 3. Problema reginelor Să se determine toate posibilităţile de aranjare a n regine pe o tablă de şah de dimensiune nxn

21. Generarea şirurilor de paranteze

Se dă un număr natural n. Să se determine toate şirurile de paranteze care se închid correct.

Simulaţi execuţia algoritmului pentru n=6.

22. Săritura calului

Se consideră o tablă de şah nxn şi un cal plasat în colţul din stânga, sus. Se cere să se afişeze un

drum al calului pe table de şah, astfel încât să treacă o singură dată prin fiecare pătrat al tablei.

23. Problema labirintului (ieşirea din labirint)

Se dă un labirint sub formă de matrice cu m linii şi n coloane. Fiecare element al matricei are

valoarea 0 dacă se poate trece prin acea cameră şi 1 dacă este zid. Într-una din camera, de

coordonate ax şi bx, se găseşte un om. Se cere să se găsească toate ieşirile din labirint, ştiind că nu

este permis ca un drum să treacă de două ori prin aceeaşi camera

24. Problema bilei

Se dă un teren sub formă de matrice cu m linii şi n coloane. Fiecare element a[i,j] al matricei

reprezintă altitudinea pătratului de coordonate i,j de pe teren. Într-un pătrat de coordonate lin, col

se găseşte o bilă. Ştiind că bila se poate deplasa în orice direcţie aflată la nord, est, sud sau vest pe

un pătrat cu altitudine strict inferioară celei pe care se găseşte bila. Se cere să se găsească toate

posibilităţile ca bila să părăsească terenul.

25. Permutări speciale

Să se genereze permutările speciale ale mulţimii {1,2,…,n} cu proprietatea că pentru oricare

permutare specială p există indicele i, 1in, astfel încât p[i]=i. Câte permutări speciale de n

elemente există ? Simulaţi executarea algoritmului pentru n=3.