#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 | #16422344 | Utilizator | |
Fișier | grupe.cpp | Dimensiune | 908 B |
Data încărcării | 01 August 2019, 10:00 | Scor / rezultat | Eroare de compilare |
grupe.cpp: In function 'int main()': grupe.cpp:27:10: error: reference to 'max' is ambiguous if(a>max[nr]) ^ grupe.cpp:5:10: note: candidates are: long int max [200] long int max[200],x[200]; ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from grupe.cpp:2: /usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare) max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&) max(const _Tp& __a, const _Tp& __b) ^ grupe.cpp:28:13: error: reference to 'max' is ambiguous max[nr]=a; ^ grupe.cpp:5:10: note: candidates are: long int max [200] long int max[200],x[200]; ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from grupe.cpp:2: /usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare) max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&) max(const _Tp& __a, const _Tp& __b) ^ grupe.cpp:44:33: error: reference to 'max' is ambiguous cout<<poz1<<" "<<x[poz1]<<" "<<max[poz1]<<endl; ^ grupe.cpp:5:10: note: candidates are: long int max [200] long int max[200],x[200]; ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from grupe.cpp:2: /usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare) max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&) max(const _Tp& __a, const _Tp& __b) ^ grupe.cpp:48:34: error: reference to 'max' is ambiguous cout<<poz2<<" "<<x[poz2]<<" "<<max[poz2]; ^ grupe.cpp:5:10: note: candidates are: long int max [200] long int max[200],x[200]; ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from grupe.cpp:2: /usr/include/c++/4.8/bits/stl_algobase.h:260:5: note: template<class _Tp, class _Compare> const _Tp& std::max(const _Tp&, const _Tp&, _Compare) max(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:216:5: note: template<class _Tp> const _Tp& std::max(const _Tp&, const _Tp&) max(const _Tp& __a, const _Tp& __b) ^ grupe.cpp:19:34: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("r","grupe.in",stdin); ^ grupe.cpp:20:33: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("w","grupe.out",stdout); ^
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ă.