Detalii evaluare #39752731

Rezumat problemă

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

Turneul Internațional Shumen 2021

Detalii

Problema cutting Operații I/O tastatură/ecran
Limita timp 0.5 secunde Limita memorie Total: 512 MB / Stivă 64 MB
Id soluție #39752731 Utilizator Popa Bogdan Ioan (PopaBogdan)
Fișier cutting.cpp Dimensiune 6.19 KB
Data încărcării 16 Noiembrie 2022, 23:02 Scor / rezultat 10 puncte

Evaluare


Mesaj compilare

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:60: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, t = 0;

             ^
cutting.cpp: In function 'std::ostream& operator<<(std::ostream&, BigNumber)':
cutting.cpp:101:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if(i != a.size() - 1) {

                            ^

Rezultat evaluare

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 Raspuns gresit. 5 0
4 0.028 secunde Raspuns gresit. 5 0
5 0.036 secunde Raspuns gresit. 5 0
6 0 secunde Raspuns gresit. 5 0
7 0.336 secunde Raspuns gresit. 5 0
8 Depășit Limita de timp depășită 5 0
9 0.04 secunde Raspuns gresit. 5 0
10 0.38 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.28 secunde Raspuns gresit. 5 0
20 Depășit Limita de timp depășită 5 0
Punctaj total 10

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