📌 Despre Varianta 4 din 2021
Varianta 4 din 2021 trece prin expresii aritmetice, recursivitate, backtracking, arbori și grafuri, șiruri de caractere, structuri imbricate, matrice și fișiere. Este o variantă echilibrată, bună pentru exersat calculul atent și lucrul cu cifrele.
Subiectul I (20p): 5 grile: scrierea în C/C++ a unei fracții cu numărător și numitor compuși, un subprogram recursiv care adună cifrele impare ale unui număr, o problemă de backtracking cu numere din cifre distincte cu suma 6, numărul de cicluri elementare după ce adaugi o muchie unui arbore și numărul de zerouri din matricea de adiacență a unui graf cu 21 de noduri.
Subiectul al II-lea (40p): Un algoritm în pseudocod care afișează numerele divizibile cu exact unul dintre x și y, o secvență care face interschimbări în șirul ROMANIA și o secvență care inițializează câmpurile primului angajat dintr-un tablou de structuri angajat, cu un câmp dp care este tot o structură.
Subiectul al III-lea (30p): Un subprogram (cuburi) care afișează descrescător primele n cuburi perfecte nenule, o problemă cu o matrice care are pe diagonala principală multiplii lui k și pe fiecare linie numere consecutive, și o problemă de eficiență cu „perechi asemenea” din două șiruri citite din fișierul numere.in.
⚠️ La ce să fii atent
- La I.1: Bara de fracție ține loc de paranteze, deci în C/C++ trebuie să le scrii pe toate.
a/b+2 nu este același lucru cu a/(b+2): răspunsul este ((x+y)/5+(x-y)/2)/(x+2). - La I.3: După ce găsește o soluție, algoritmul încearcă să o prelungească cu cifra 0, care nu schimbă suma. De aceea, după 123 urmează 1230, a șasea soluție.
- La I.5: Ultima cifră 1 apare la trei noduri (1, 11 și 21), iar fiecare altă ultimă cifră la câte două. Pe diagonală sunt doar zerouri, pentru că muchiile leagă noduri distincte. Sunt 24 de valori de 1, deci 21² - 24 de zerouri.
- La II.1.a: Condiția cere ca
i să se împartă la exact unul dintre x și y. Pentru 15, 3 și 4, numărul 12 se împarte la amândouă, deci nu se afișează: 3 4 6 8 9 15. - La III.3: Ultimele două cifre pot fi în orice ordine, deci 20 și 402 formează o pereche asemenea. Nu compara fiecare număr din
A cu fiecare din B: numără într-un vector cu 100 de poziții câte numere au fiecare pereche de ultime cifre.