#613
Se dau N puncte în spațiul 3D prin coordonatele lor. Dorim să amplasăm două cuburi cu laturile paralele cu axele de coordonate, astfel încât fiecare punct să se afle pe una dintre feţele sau în interiorul a cel puțin unuia dintre cuburi. În plus, latura cubului de latură maximă dintre cele două trebuie să fie minimă.
Scrieţi un program care să determine latura cubului de latură maximă pentru două cuburi care realizează acoperirea mulțimii de puncte în condiţiile de mai sus.
Urmasii lui Moisil, 2014, Clasa a X-a
| Problema | Cuburi | Operații I/O |
cuburi.in/cuburi.out
|
|---|---|---|---|
| Limita timp | 2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 1 MB
|
| Id soluție | #58790927 | Utilizator | |
| Fișier | cuburi.cpp | Dimensiune | 6.49 KB |
| Data încărcării | 08 August 2025, 21:59 | Scor/rezultat | Eroare de compilare |
cuburi.cpp: In function 'BoundingBox combine(const BoundingBox&, const BoundingBox&)': cuburi.cpp:38:5: error: could not convert '{std::min<long long int>((* & b1.BoundingBox::min_x), (* & b2.BoundingBox::min_x)), std::max<long long int>((* & b1.BoundingBox::max_x), (* & b2.BoundingBox::max_x)), std::min<long long int>((* & b1.BoundingBox::min_y), (* & b2.BoundingBox::min_y)), std::max<long long int>((* & b1.BoundingBox::max_y), (* & b2.BoundingBox::max_y)), std::min<long long int>((* & b1.BoundingBox::min_z), (* & b2.BoundingBox::min_z)), std::max<long long int>((* & b1.BoundingBox::max_z), (* & b2.BoundingBox::max_z))}' from '<brace-enclosed initializer list>' to 'BoundingBox' }; ^ cuburi.cpp: In lambda function: cuburi.cpp:141:136: error: invalid initialization of reference of type 'const BoundingBox&' from expression of type '<brace-enclosed initializer list>' current_pref_bb = combine(current_pref_bb, {{points[i].x, points[i].x, points[i].y, points[i].y, points[i].z, points[i].z}}); ^ cuburi.cpp:33:13: error: in passing argument 2 of 'BoundingBox combine(const BoundingBox&, const BoundingBox&)' BoundingBox combine(const BoundingBox& b1, const BoundingBox& b2) { ^ cuburi.cpp:146:136: error: invalid initialization of reference of type 'const BoundingBox&' from expression of type '<brace-enclosed initializer list>' current_suff_bb = combine(current_suff_bb, {{points[i].x, points[i].x, points[i].y, points[i].y, points[i].z, points[i].z}}); ^ cuburi.cpp:33:13: error: in passing argument 2 of 'BoundingBox combine(const BoundingBox&, const BoundingBox&)' BoundingBox combine(const BoundingBox& b1, const BoundingBox& b2) { ^ cuburi.cpp: In function 'BoundingBox combine(const BoundingBox&, const BoundingBox&)': cuburi.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cuburi 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ă.