This shows you the differences between two versions of the page.
|
pa:laboratoare:laborator-04 [2026/02/25 18:42] darius.neatu |
pa:laboratoare:laborator-04 [2026/03/24 13:15] (current) radu.nichita [Problema damelor (AC3)] |
||
|---|---|---|---|
| Line 923: | Line 923: | ||
| AC-3 a redus astfel domeniile lui A si B, reducând semnificativ timpul folosit de algoritmul backtracking. | AC-3 a redus astfel domeniile lui A si B, reducând semnificativ timpul folosit de algoritmul backtracking. | ||
| + | |||
| + | ===== Pool probleme (pentru prezentări) ====== | ||
| + | |||
| + | ======= 1) Word Search ======= | ||
| + | |||
| + | **Enunt:** Se dă o matrice de dimensiuni ''m × n'' formată din litere și un cuvânt ''word''. Determinați dacă acest cuvânt poate fi format în matrice. | ||
| + | Cuvântul se construiește unind litere din celule adiacente (pe orizontală sau verticală). Nu aveți voie să folosiți aceeași celulă de două ori în formarea aceluiași cuvânt. | ||
| + | |||
| + | **Date de intrare:** O matrice de caractere de dimensiuni ''m × n'' și un șir de caractere ''word''. | ||
| + | |||
| + | **Date de ieșire:** Se afișează ''true'' dacă cuvântul există în matrice, altfel ''false''. | ||
| + | |||
| + | Problema se poate testa la: | ||
| + | https://leetcode.com/problems/word-search/ | ||
| + | |||
| + | ======= 2) Combination Sum II ======= | ||
| + | |||
| + | **Enunt:** Se dă un șir de numere (care poate conține duplicate) și un număr țintă ''target''. Găsiți toate combinațiile unice de elemente din șir a căror sumă este exact ''target''. | ||
| + | Fiecare element de pe o anumită poziție din șir poate fi folosit cel mult o dată într-o combinație. Setul final de soluții nu trebuie să conțină combinații duplicate. | ||
| + | |||
| + | **Date de intrare:** Un vector de numere întregi ''candidates'' și un număr întreg ''target''. | ||
| + | |||
| + | **Date de ieșire:** O listă de liste de numere întregi, reprezentând combinațiile unice valide. | ||
| + | |||
| + | Problema se poate testa la: | ||
| + | https://leetcode.com/problems/combination-sum-ii/ | ||
| + | |||
| + | ======= 3) Gray Code ======= | ||
| + | |||
| + | **Enunt:** Codul Gray de ordin ''n'' este o secvență ce conține toate cele $2^n$ șiruri binare de lungime ''n'', cu proprietatea că oricare două șiruri consecutive diferă prin exact un singur bit. | ||
| + | Cerința este să generați o astfel de secvență validă pentru un ''n'' dat. | ||
| + | |||
| + | **Date de intrare:** Un număr întreg ''n'' — lungimea șirurilor de biți. | ||
| + | |||
| + | **Date de ieșire:** Se afișează secvența de $2^n$ numere (în format zecimal sau binar), respectând regula codului Gray. | ||
| + | |||
| + | Problema se poate testa la: | ||
| + | https://cses.fi/problemset/task/2205 | ||
| + | |||
| + | ======= 4) Sudoku Solver ======= | ||
| + | |||
| + | **Enunt:** Vi se cere să scrieți un program care rezolvă un puzzle Sudoku clasic (9 × 9) prin completarea celulelor goale. | ||
| + | Pentru ca soluția să fie validă, trebuie respectate regulile clasice: fiecare cifră de la 1 la 9 trebuie să apară o singură dată pe fiecare rând, pe fiecare coloană și în fiecare dintre cele nouă careuri 3 × 3. | ||
| + | |||
| + | **Date de intrare:** O matrice 9 × 9 de caractere reprezentând tabla de Sudoku inițială (celulele goale sunt marcate cu caracterul ''.''). | ||
| + | |||
| + | **Date de ieșire:** Matricea 9 × 9 completată cu soluția corectă. | ||
| + | |||
| + | Problema se poate testa la: | ||
| + | https://leetcode.com/problems/sudoku-solver/ | ||
| + | |||
| + | ======= 5) Palindrome Partitioning ======= | ||
| + | |||
| + | **Enunt:** Se dă un șir de caractere ''s''. Se cere să împărțiți șirul în fragmente, astfel încât fiecare fragment (subșir) rezultat să fie un palindrom. | ||
| + | Returnați toate aceste partiționări posibile. | ||
| + | |||
| + | **Date de intrare:** Un șir de caractere ''s''. | ||
| + | |||
| + | **Date de ieșire:** O listă de liste de șiruri de caractere, unde fiecare listă interioară reprezintă o partiționare validă. | ||
| + | |||
| + | Problema se poate testa la: | ||
| + | https://leetcode.com/problems/palindrome-partitioning/ | ||
| + | |||
| + | ======= 6) Knight's Tour ======= | ||
| + | |||
| + | Enunt: Se cere să găsiți o parcurgere validă a unei table de șah de dimensiuni 8 × 8 folosind un cal, astfel încât acesta să viziteze fiecare celulă a tablei exact o singură dată. Mutările trebuie să respecte regulile clasice de șah pentru cal (în formă de "L"). | ||
| + | |||
| + | Date de intrare: Două numere întregi ''x'' și ''y'', care indică poziția inițială a calului pe tablă (coloana și rândul). | ||
| + | |||
| + | Date de ieșire: O matrice 8 × 8 în care fiecare celulă conține numărul pasului (de la 1 la 64) la care a fost vizitată respectiva poziție. | ||
| + | |||
| + | Problema se poate testa la: | ||
| + | |||
| + | https://cses.fi/problemset/task/1689 | ||
| ===== Extra ===== | ===== Extra ===== | ||