#4005
cutting
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 |
![]() |
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 512 MB
/
Stivă 64 MB
|
Id soluție | #39752886 | Utilizator | |
Fișier | cutting.cpp | Dimensiune | 6.20 KB |
Data încărcării | 16 Noiembrie 2022, 23:08 | Scor / rezultat | 25 puncte |
cutting.cpp: In member function 'int BigNumber::operator[](int)': cutting.cpp:22: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:36: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:36: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:37: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:48:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < this -> size() || t; i++, t /= BASE) { ^ cutting.cpp:49: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:61:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < this->size(); i++) { ^ cutting.cpp:58:13: warning: unused variable 'i' [-Wunused-variable] int i; ^ cutting.cpp: In function 'std::ostream& operator<<(std::ostream&, BigNumber)': cutting.cpp:102:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(i != a.size() - 1) { ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0.008 secunde | OK. | 5 | 5 | ||
4 | 0.028 secunde | Raspuns gresit. | 5 | 0 | ||
5 | 0.036 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
7 | 0.344 secunde | Raspuns gresit. | 5 | 0 | ||
8 | Depășit | Limita de timp depășită | 5 | 0 | ||
9 | 0.04 secunde | OK. | 5 | 5 | ||
10 | 0.384 secunde | Raspuns gresit. | 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.02 secunde | Raspuns gresit. | 5 | 0 | ||
15 | 0.06 secunde | Raspuns gresit. | 5 | 0 | ||
16 | 0.016 secunde | Raspuns gresit. | 5 | 0 | ||
17 | Depășit | Limita de timp depășită | 5 | 0 | ||
18 | 0.024 secunde | Raspuns gresit. | 5 | 0 | ||
19 | 0.288 secunde | Raspuns gresit. | 5 | 0 | ||
20 | Depășit | Limita de timp depășită | 5 | 0 | ||
Punctaj total | 25 |
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ă.