📌 Despre Modelul din 2020
Modelul din 2020 trece prin expresii logice, recursivitate, backtracking, arbori, grafuri orientate, structuri, matrice, șiruri de caractere și fișiere. Este un test complet, bun ca să vezi cum arată un subiect de Bac de la cap la coadă.
Subiectul I (20p): 5 grile: o expresie logică echivalentă cu „x mai mic decât y și decât z”, trei subprograme (două recursive și unul iterativ) apelate pentru n=12, o problemă de backtracking cu platouri de câte trei prăjituri, fiii unui nod într-un arbore cu rădăcina dată și numărul minim de vârfuri ale unui graf orientat cu 3 componente tare conexe.
Subiectul al II-lea (40p): Un algoritm în pseudocod în care m crește și n scade, adunând multiplii lui x întâlniți pe drum, o structură parcare pentru cele 20 de zone de parcare ale unui oraș și o secvență care afișează indicii liniilor unei matrice al căror prim sau ultim element este 2020.
Subiectul al III-lea (30p): Un subprogram cu cifre (duplicare, care dublează fiecare cifră impară a unui număr), o problemă cu șiruri de caractere în care cuvintele cu cel puțin n litere se afișează înaintea celorlalte și o problemă de eficiență care numără valorile din [1,n] care lipsesc dintr-un șir ordonat descrescător, citit din fișierul numere.in.
⚠️ La ce să fii atent
- La I.1: Fii atent la „dacă și numai dacă”! Varianta b) pare bună, dar ea cere
z<y și x<z. Pentru x=1, y=2, z=5, x e mai mic decât amândouă, iar b) dă totuși 0. - La I.5: Componenta tare conexă în care nu intră niciun arc și cea din care nu iese niciun arc au nevoie de cel puțin 2 vârfuri fiecare, ca toate gradele să fie nenule. A treia poate avea un singur vârf, deci minimul este 2 + 2 + 1 = 5.
- La II.1.a: Nu sări peste condiția
m≠n! Când m și n ajung amândouă la 28, se adună doar m, nu și n, iar rezultatul este 120. - La III.3 (eficiență): Șirul poate avea până la un miliard de numere, iar
n poate fi tot un miliard, deci un vector de apariții nu încape în memorie. Cum șirul e ordonat descrescător, valorile egale stau una lângă alta: numără valorile distincte comparând fiecare număr cu cel dinaintea lui, iar răspunsul este n minus acest număr.