#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 | #39752524 | Utilizator | |
| Fișier | cutting.cpp | Dimensiune | 5.83 KB |
| Data încărcării | 16 Noiembrie 2022, 22:54 | Scor/rezultat | 50 puncte |
cutting.cpp: In member function 'int BigNumber::operator[](int)': cutting.cpp:21:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] return (pos < this->c.size() ? this->c[pos] : 0); ^ cutting.cpp: In member function 'BigNumber BigNumber::operator+(BigNumber)': cutting.cpp:35:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < this->size() || i < oth.size() || t; i++, t /= BASE) { ^ cutting.cpp:35:57: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < this->size() || i < oth.size() || t; i++, t /= BASE) { ^ cutting.cpp:36:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(i == ret.size()) { ^ cutting.cpp: In member function 'BigNumber BigNumber::operator*(long long int)': cutting.cpp:47:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < this -> size() || t; i++, t /= BASE) { ^ cutting.cpp:48:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(i == ret.size()) { ^ cutting.cpp: In member function 'BigNumber BigNumber::operator-(BigNumber)': cutting.cpp:59:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < this->size(); i++) { ^ cutting.cpp:57:13: warning: unused variable 'i' [-Wunused-variable] int i, t = 0; ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | OK. | 5 | 5 | ||
| 2 | 0 secunde | OK. | 5 | 5 | ||
| 3 | 0.028 secunde | OK. | 5 | 5 | ||
| 4 | 0.116 secunde | OK. | 5 | 5 | ||
| 5 | 0.128 secunde | OK. | 5 | 5 | ||
| 6 | 0.008 secunde | OK. | 5 | 5 | ||
| 7 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 8 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 9 | 0.136 secunde | OK. | 5 | 5 | ||
| 10 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 11 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 12 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 13 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 14 | 0.072 secunde | OK. | 5 | 5 | ||
| 15 | 0.16 secunde | OK. | 5 | 5 | ||
| 16 | 0.048 secunde | OK. | 5 | 5 | ||
| 17 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 18 | 0.048 secunde | Raspuns gresit. | 5 | 0 | ||
| 19 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 20 | Depășit | Limita de timp depășită | 5 | 0 | ||
| Punctaj total | 50 | |||||
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ă.