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