#1076
Grupe
Se consideră un tablou bidimensional cu m
linii, n
coloane şi elemente numere naturale. Pentru fiecare element se determină numărul de divizori pozitivi. Se formează apoi grupe cu elementele tabloului care au acelaşi număr de divizori, grupe notate G
1
, G
2
, …, G
k
. Se ordonează descrescător grupele după numărul de elemente ce le conţin. Se ştie că o grupă G
1
se află în faţa unei alte grupe G
2
dacă G
1
are mai multe elemente decât G
2
sau, în cazul în care cele două grupe conţin acelaşi număr de elemente, numărul de divizori ai elementelor din grupa G
1
este mai mare decât numărul de divizori ai elementelor din grupa G
2
. După ordonarea descrescătoare a grupelor, notăm prima grupă cu A
şi a doua grupă cu B
. În cazul în care toate elementele vor avea acelaşi număr de divizori, va exista o singură grupă, grupa A
.
Scrieţi un program care citeşte m
, n
, elementele tabloului şi afişează:
a) numărul de divizori pozitivi pentru grupa A
, numărul de elemente din grupă şi cea mai mare valoare din grupă;
b) numărul de divizori pozitivi pentru grupa B
, numărul de elemente din grupă şi cea mai mare valoare din grupă; în cazul în care nu există grupa a doua, se va afişa de trei ori valoarea 0
.
OJI 2011, Clasa a VII-a
Problema | Grupe | Operații I/O |
grupe.in /grupe.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #22430602 | Utilizator | |
Fișier | grupe.cpp | Dimensiune | 3.02 KB |
Data încărcării | 10 Aprilie 2020, 23:21 | Scor / rezultat | 90 puncte |
grupe.cpp: In function 'int detdiv(int)': grupe.cpp:37:34: warning: unused variable 'square' [-Wunused-variable] int i = 1, p, numberdiv = 1, square; ^ grupe.cpp: In function 'void functieMinune(int, int&, int&)': grupe.cpp:76:11: warning: unused variable 'j' [-Wunused-variable] int i,j,nrmaxdiv1=0,nrmaxdiv2=0; ^ grupe.cpp:76:25: warning: unused variable 'nrmaxdiv2' [-Wunused-variable] int i,j,nrmaxdiv1=0,nrmaxdiv2=0; ^ grupe.cpp: In function 'int main()': grupe.cpp:136:28: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%d %d",&q,&p); ^ grupe.cpp:140:33: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%d",&a[i].val); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0.028 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | Depășit | Limita de timp depășită | 10 | 0 | ||
5 | 0 secunde | OK. | 10 | 10 | ||
6 | 0 secunde | OK. | 10 | 10 | ||
7 | 0.004 secunde | OK. | 10 | 10 | ||
8 | 0 secunde | OK. | 10 | 10 | ||
9 | 0.064 secunde | OK. | 10 | 10 | ||
10 | 0 secunde | OK. | 10 | 10 | ||
Punctaj total | 90 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Grupe face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.