#874
Atomi
Într-o galaxie îndepărtată există doar două elemente chimice. Cercetătorii le-au numit A
şi B
şi toate substanţele sunt alcătuite din aceste elemente. Mai precis, o substanţă este un şir definit astfel:
A
şi B
sunt substanţe, formate din câte un atom;Ax
şi By
sunt substanţe, x
şi y
find numere naturale. Ax
este formată din x
atomi de tip A
, iar By
este formată din y
atomi de tip B
;S
este substanţă atunci (S)x
este substanţă, x
fiind un număr natural. Dacă în S
sunt p
atomi, în (S)x
vor fin p*x
atomi;S
şi T
sunt substanţe atunci ST
este substanţă. Dacă în S
sunt x
atomi, iar în T
sunt y
atomi, în ST
vor fi x+y
atomi.Pentru o substanţă dată să se determine numărul atomilor de tip A
şi numărul atomilor de tip B
care o compun.
Problema | Atomi | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #38549121 | Utilizator | |
Fișier | atomi.cpp | Dimensiune | 2.55 KB |
Data încărcării | 12 Octombrie 2022, 23:05 | Scor / rezultat | 100 puncte |
atomi.cpp: In function 'void get_num(long long unsigned int&, int&)': atomi.cpp:14:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(isdigit(s[it]) && it < strlen(s)){ ^ atomi.cpp: In function 'void get_var()': atomi.cpp:23:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < strlen(s); i++){ ^ atomi.cpp: In function 'std::pair<long long unsigned int, long long unsigned int> eval(int&)': atomi.cpp:43:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(it < strlen(s) && s[it] != ')'){ ^ atomi.cpp:53:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(it == strlen(s) || !isdigit(s[it + 1])) ^ atomi.cpp:72:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(it < strlen(s) && isdigit(s[it])) ^ atomi.cpp: In function 'void solve()': atomi.cpp:89:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(it < strlen(s)){ ^ atomi.cpp:105:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(it == strlen(s) || !isdigit(s[it + 1])) ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 20 | 20 | Exemplu | |
2 | 0 secunde | OK. | 20 | 20 | ||
3 | 0 secunde | OK. | 20 | 20 | ||
4 | 0 secunde | OK. | 20 | 20 | ||
5 | 0 secunde | OK. | 20 | 20 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Atomi 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ă.