Sunteți pe pagina 1din 2

Olimpiada locală de Informatică – clasa a X-a

Constanţa – 02.02.2020

Problema 1 GAL - 50 puncte


Un număr natural X se numeşte curat dacă oglinditul său este egal cu urma sa. Urma unui număr
X reprezintă diferenţa dintre numărul format cu atâtea cifre de 9 câte are X şi numărul X.
(Exemplu: numărul X =27 este curat. Urma lui X este 99-27 =72, care coicide cu oglinditul lui 27.)
Se dă o matrice cu n linii şi m coloane, cu elemente numere naturale formate din cel mult 9 cifre.
Se determină câte numere curate există pe fiecare linie. Toate liniile matricei care conţin acelaşi număr
de numere curate vor forma o grupă.
Se cere să se afişeze grupele formate în ordinea descrescătoare a numărului de linii din
componenţa lor. Dacă grupele au acelaşi număr de linii în componenţa lor, ele vor fi afişate descrescător
după numărul de numere curate conţinute de liniile dintr-o grupă. Afişarea unei grupe presupune scrierea
în ordine crescătoare a numerelor de ordine ale liniilor care formează grupa respectivă, numere de ordine
care vor fi separate printr-un spaţiu. Fiecare grupă se va scrie pe câte o linie distinctă.
Fişierul grupe.in conţine pe prima linie numerele n şi m. Pe următoarele n linii sunt câte m
numere naturale, separate printr-un spaţiu.
Fişierul grupe.out conţine pe fiecare rând, componenţa unei grupe, conform enunţului.
Restricţii : n,m <=1000
Memorie maxima: 0,5 MB
Timp de executie: 2s/test

Exemplu:
grupe.in grupe.out Explicaţie:
43 2 3 numerele boldate din matrice sunt curate
15 27 92 1 4 Liniile 2 si 3 conţin fiecare, câte două numere curate
36 5 54 Liniile 1 şi 4 conţin cate un număr curat.
8 63 72 Grupele conţin câte 2 linii fiecare, dar prima data se afişează grupa cu
81 5 2 mai multe numere curate pe linie.

Problema 2 SS - 50 puncte
La un concurs sportiv s-au înscris n elevi pentru a participa la o cursă de sărituri în linie dreaptă.
Fiecare elev are asociat un număr de la 1 la n. La semnalul de începere a cursei fiecare elev va sări în
ritm constant și în sărituri de aceeași lungime până când toți elevii la ultimul salt vor ajunge la linia de
sosire. Organizatorii doresc să determine care este lungimea minimă a traseului știind că toți elevii
participanți pleacă în același moment în cursă fiecare face cel puțin k sărituri pe traseul dat.
Știind numărul participanților, numărul minim de sărituri făcute de fiecare elev respectiv
lungimea săriturii fiecărui elev, să se determine lungimea minimă a traseului pe care se poate desfășura
cursa, numărul de sărituri făcute de fiecare elev și clasamentul în ordine crescătoare în funcție de
numărul de sărituri efectuate de fiecare elev.
Fișierul elev.in conține pe prima linie numărul n reprezentând numărul de elevi participanți, k
reprezentând numărul minim de sărituri efectuate de fiecare elev, iar pe următoarea linie n numere nenule
separate prin câte un spațiu reprezentând lungimea în metri a săriturii fiecărui elev.
Fișierul elev.out va conține pe prima linie un număr întreg reprezentând lungimea minimă a
traseului măsurată în metri, pe a doua linie numărul de sărituri efectuat de fiecare elev, iar pe a treia linie
clasamentul cursei.
Restricții și precizări:
 Lungimea traseului nu depășește 2100000000.
 1<=n<=500
 Lungimea săriturii fiecărui elev este mai mică sau egală cu 100 și mai mare sau egală cu 1.
 Dacă mai mulți elevi efectuează același număr de sărituri se vor afișa în ordinea numărului de
pe tricou.
Olimpiada locală de Informatică – clasa a X-a
Constanţa – 02.02.2020

Exemplu

elev.in elev.out Explicație


3 11 140 140 este lungimea minimă a traseului astfel încât
257 70 28 20 fiecare elev să facă minim 11 sărituri
321
47 96
12 8 12 12 8 12 8 8
1342

Timp de executie: 1s/test

S-ar putea să vă placă și