📌 Despre Varianta 8 din 2024
Varianta 8 din 2024 trece prin expresii logice, recursivitate, șiruri de caractere, arbori, grafuri orientate, backtracking, structuri, numere prime, matrice și fișiere. Este o variantă echilibrată, bună pentru recapitularea întregii materii.
Subiectul I (20p): 5 grile: o expresie care verifică dacă un interval nu conține numere de două cifre, apelul unui subprogram recursiv care afișează 13579, o secvență cu strcmp și strcpy, rădăcina unui arbore dat prin vectorul de „tați” și numărul maxim de vârfuri izolate ale unui graf orientat cu 24 de vârfuri și 24 de arce.
Subiectul al II-lea (40p): Un algoritm în pseudocod care alipește prima cifră a unui număr cu primele două și cu ultimele două cifre, o problemă de backtracking cu buchete de câte trei flori și o secvență care verifică dacă două note muzicale, memorate într-o structură interval, formează o terță.
Subiectul al III-lea (30p): Un subprogram cu numere prime (moderat, produsul a două numere prime consecutive), o problemă cu o matrice în care se tund parcelele cu gazon prea înalte și o problemă de eficiență care scrie în fișierul bac.txt, descrescător, termenii unui șir definit printr-o formulă de recurență.
⚠️ La ce să fii atent
- La I.1: Intervalul
[x,y] conține un număr de două cifre când se suprapune cu [10,99], adică x<=99 && y>=10. Răspunsul este negația acestei condiții. - La I.5: Între 5 vârfuri încap cel mult 5·4 = 20 de arce, prea puține pentru 24, dar între 6 vârfuri încap 30. Rămân izolate 24 - 6 = 18 vârfuri.
- La II.1.d:
repetă...până când execută corpul cel puțin o dată, iar bucla dată nu se execută deloc pentru un n de o cifră. Pune structura cu test final sub condiția n>9, altfel algoritmul nu mai e echivalent. - La II.3: În gamă, după G (sol) vin A (la) și B (si), care în alfabet sunt înaintea lui F și G. Pentru
nota1 egal cu C, D sau E, terța este cu două litere mai departe, iar pentru F și G este cu cinci litere mai înapoi. - La III.3: Întoarce formula ca să obții termenul de dinainte: din
d = 4c - 3b - 2a rezultă a = (4c - 3b - d)/2. Te oprești după ce ai scris cele două valori 0 de la începutul șirului, iar pentru 4*y cu y până la 10⁹ folosește long long.