📌 Despre Varianta 6 din 2020
Varianta 6 din 2020 acoperă tipurile de date, recursivitatea cu tablouri, backtracking-ul, arborii, grafurile parțiale, structurile imbricate, matricele, șirurile de caractere și fișierele. Este o variantă bună pentru exersat urmărirea atentă a codului.
Subiectul I (20p): 5 grile: o expresie cu împărțire reală, un subprogram recursiv care modifică și afișează elementele unui tablou, o problemă de backtracking cu patru persoane care plătesc 200 de lei, numărul de frunze ale unui arbore dat prin vectorul de „tați” și numărul grafurilor parțiale conexe ale unui graf dat prin matricea de adiacență.
Subiectul al II-lea (40p): Un algoritm în pseudocod care verifică, pentru fiecare cifră pară, dacă apare într-un număr, o structură calculator cu un câmp memorie care este tot o structură și o secvență care completează o matrice 9×9 cu < și >, după un model desenat.
Subiectul al III-lea (30p): Un subprogram cu divizori (suma, care adună divizorii comuni a două numere), o problemă cu șiruri de caractere în care fiecare cuvânt de cel puțin trei litere se rotește spre stânga și o problemă de eficiență care verifică dacă numerele din fișierul bac.in pot fi rearanjate într-un șir palindromic.
⚠️ La ce să fii atent
- La I.1: Uită-te la punctul zecimal!
5.0/2 are un operand real, deci dă 2.5, nu 2, iar expresia valorează 7.5. - La I.2: Afișarea se face la întoarcerea din recursivitate, deci elementele apar în ordine inversă, de la
v[3] la v[0]. În plus, v[3] crește cu 1 înainte să fie afișat, deci în tablou trebuie să fie 1, nu 2. - La I.5: Un graf parțial păstrează toate nodurile. Muchia
[1,5] trebuie păstrată, altfel nodul 5 rămâne izolat, iar din ciclul 1-2-3-4-1 poți scoate cel mult o muchie. Nu număra și graful dat: răspunsul este 4. - La II.1.b: Ca toate valorile afișate să fie nenule, numărul trebuie să conțină toate cifrele pare, inclusiv 0. Cel mai mic număr nu poate începe cu 0, deci este 102468, iar cel mai mare este 986420.
- La III.3: Nu trebuie să construiești șirul palindromic. Numără aparițiile fiecărei valori într-un vector de frecvență: răspunsul este
DA dacă cel mult o valoare apare de un număr impar de ori.