#4005
Aveți o foaie de hârtie dreptunghiulară cu dimensiunile N x M centimetri. Foaia este împărțită într-o rețea de pătrate de 1 x 1 centimetri fiecare. Puteți considera foaia ca un sistem de coordonate – colțul din stânga jos este originea (0,0) a sistemului de coordonate și fiecărui vârf al unui pătrat îi sunt atribuite coordonate întregi – între 0 și N pe axa x și între 0 și M pe axa y. Primiți o succesiune de cereri de tăiere a foii de hârtie (sau mai exact, a părții care a mai rămas din ea). Fiecare cerere este definită de o pereche de numere întregi nenegative (p, q), reprezentând un punct din rețea, care este situat în porțiunea netăiată a hârtiei. Scrieți un program care după fiecare cerere calculează aria figurii rămase.
| Problema | cutting | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 512 MB
/
Stivă 64 MB
|
| Id soluție | #58690168 | Utilizator | |
| Fișier | cutting.cpp | Dimensiune | 4.89 KB |
| Data încărcării | 17 Iulie 2025, 22:25 | Scor/rezultat | Eroare de compilare |
cutting.cpp: In function 'ldouble calculate_area()': cutting.cpp:20:5: error: expected primary-expression before '__int128' __int128 total_area_8x = 0; ^ cutting.cpp:20:5: error: expected ';' before '__int128' cutting.cpp:31:9: error: 'total_area_8x' was not declared in this scope total_area_8x += (__int128)(p1.second + p2.second) * (p2.first - p1.first); ^ cutting.cpp:31:27: error: expected primary-expression before '__int128' total_area_8x += (__int128)(p1.second + p2.second) * (p2.first - p1.first); ^ cutting.cpp:31:27: error: expected ')' before '__int128' cutting.cpp:24:21: warning: unused variable 'p1' [-Wunused-variable] const auto& p1 = *it; // (X1, Y1) = (2*x1, 2*y1) ^ cutting.cpp:25:21: warning: unused variable 'p2' [-Wunused-variable] const auto& p2 = *std::next(it); // (X2, Y2) = (2*x2, 2*y2) ^ cutting.cpp:33:33: error: 'total_area_8x' was not declared in this scope return static_cast<ldouble>(total_area_8x) / 8.0; ^ cutting.cpp:34:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema cutting 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ă.