Enunțul problemei cod, de clasa a 6-a, dată în 2007 la OJI, se găsește pe PbInfo și .campion.

Rezumat cod

Dexter trebuie să descopere codul de acces la seiful în care se află averea moștenită de la unchiul său. Pentru asta, el are la dispoziție n bilețele pe care sunt scrise numere naturale mai mici decât 100. Dexter trebuie să formeze perechi de bilețele care au scrise pe ele numere egale. Codul pe care trebuie să-l găsească este format prin concatenarea numerelor scrise pe bilețelele rămase, în ordine crescătoare. Se cere să se afișeze acest cod.

Soluție cod

Tot ceea ce trebuie să facem este să folosim un vector de frecvență pentru a reține numărul de apariții ale fiecărui număr, și să le afișăm pe cele cu frecvența impară. Citim, pe rând, fiecare număr din șirul dat, în variabila x, și îi actualizăm frecvența prin frq[x]++. Apoi, parcurgem vectorul frq, de la 0 la 99, și pentru fiecare i, dacă frq[i] este impar, îl afișăm pe i. Astfel, numerele afișate vor fi în ordine crescătoare, așa cum se precizează în enunț. Le-am afișat pe cele cu frecvența impară pentru că dacă Dexter formează perechi, atunci pentru fiecare număr i, se vor forma [frq[i] / 2] perechi. Iar dacă frq[i] este impar, va rămâne un biletel necuplat, care este inclus în codul de acces la seif.

Sursă C++ cod

Dacă ai vreo nedumerire cu privire la problema cod, lasă un comentariu și te voi ajuta 🙂

Îți place conținutul acestui site?

Dacă vrei să mă susții în întreținerea server-ului și în a scrie mai multe articole de calitate pe acest blog, mă poți ajuta printr-o mică donație. Află aici cum o poți face!