Detalii evaluare #58790927

Rezumat problemă

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
Fișiere Candale Silviu (silviu) Vlad Andrei Tudose concurs

Detalii

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 Raduta Mihail (Mihailraduta)
Fișier cuburi.cpp Dimensiune 6.49 KB
Data încărcării 08 August 2025, 21:59 Scor/rezultat Eroare de compilare

Evaluare

Mesaj 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]
 }

 ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Cuburi face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.

Du-te sus!