Detalii evaluare #53133976

Rezumat problemă

#1079 Comp

Locuitorii planetei Eudora folosesc o reprezentare mai ciudată a numerelor naturale, astfel că orice număr natural va fi scris notând câte mii, sute, zeci, respectiv unităţi conţine acesta. De exemplu, numărul 3207 se poate reprezenta în mai multe moduri echivalente: 3m2s7u (3 mii 2 sute şi 7 unităţi), 32s0z7u (32 sute 0 zeci şi 7 unităţi), 32s7u, 3207u, etc.

Pentru a compara două numere naturale, eudorienii folosesc semnele < şi >, acestea având semnificaţia cunoscută şi pe Terra, iar pentru a calcula suma a două numere naturale utilizează semnul +.

Pentru a testa abilităţile pământenilor în privinţa lucrului cu numere naturale, eudorienii au trimis pe Terra un fişier text ce conţine N linii, fiecare linie fiind o comparaţie de forma:

expresie1>expresie2
sau
expresie1<expresie2

Observaţi că o comparaţie este constituită din două expresii separate prin semnul < sau prin semnul >.

O expresie este compusă dintr-un număr natural sau dintr-o sumă de două sau mai multe numere naturale, toate scrise în forma eudoriană. Fişierul nu conţine caractere spaţiu.

Scrieţi un program care determină câte dintre comparaţiile date utilizează semnul <, precum şi valoarea de adevăr a fiecărei comparaţii dintre cele N date (afişând 0 dacă acea comparaţie e falsă, respectiv 1 dacă acea comparaţie e adevărată).

Detalii

Problema Comp Operații I/O comp.in/comp.out
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #53133976 Utilizator Tatucu Filip (flipiii)
Fișier comp.cpp Dimensiune 1.60 KB
Data încărcării 18 Octombrie 2024, 15:21 Scor / rezultat 100 puncte

Evaluare


Mesaj compilare

comp.cpp: In function 'int calc(std::string)':
comp.cpp:9:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<s.size(); i++)

                           ^
comp.cpp: In function 'int main()':
comp.cpp:41:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(i=0; i<s.size(); i++)

                           ^
comp.cpp:58:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i<s.size(); i++)

                        ^
comp.cpp:62:9: warning: 'comp' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if(comp=='<'){

         ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde OK. 10 10
2 0 secunde OK. 10 10
3 0 secunde OK. 10 10
4 0 secunde OK. 10 10
5 0 secunde OK. 10 10
6 0 secunde OK. 10 10
7 0 secunde OK. 10 10
8 0.004 secunde OK. 10 10
9 0.004 secunde OK. 10 10
10 0.004 secunde OK. 10 10
Punctaj total 100

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