#1938
Catalin si armata
Cătălin este cel mai important general din armata țării sale, care are N
membri (soldați și ofițeri), numerotați de la 1
la N
(Cătălin are numărul 1
). Un ofițer este un soldat care are în subordinea sa alți soldaţi. Conform ierarhiei militare, Cătălin și toți ceilalți ofițeri primesc inițial 3
subalterni (soldații cu numerele 2
, 3
şi 4
). Fiecare dintre cei trei, primește la rândul lui alți 3
subalterni, după următoarea regulă: ofițerul cu numărul x
primește subalternii 3 * x – 1
, 3 * x
, 3 * x + 1
(dacă aceștia există în armată).
S-a descoperit că în această armată există trădători. Mai exact, toți cei numerotați cu numere prime sunt dovediți trădători, iar Cătălin știe bine asta, asa că ia măsuri radicale: decide să îi elimine pe rând pe toți acești misei, începând chiar cu subalternul său cu numărul 2
. Dacă ofițerul cu numărul X
este eliminat, toți subalternii săi devin subalternii comandantului său. Eliminându-l pe 2
, subalternii acestuia devin subalternii comandantului lui 2
, adică ai lui Cătălin. După trista eliminare a lui 2
, Cătălin trece mai departe și elimină pe rând pe cei cu numerele 3
, 5
, 7
, 11
, 13
… Subalternii lui 3
, 5
, 7
devin subalternii lui 1
, cei ai lui 11
devin ai lui 4
și tot așa.
După măcel, Cătălin trebuie să răspundă la Q
întrebări ale împăratului care dorește să afle câți subalterni are un membru x
al armatei sale. Dacă x
a fost eliminat, Cătălin va transmite pentru acesta răspunsul -1
.
Problema | Catalin si armata | Operații I/O |
armata.in /armata.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 8 MB
/
Stivă 4 MB
|
Id soluție | #51638790 | Utilizator | |
Fișier | catalin_si_armata.cpp | Dimensiune | 997 B |
Data încărcării | 25 Iulie 2024, 18:54 | Scor / rezultat | 0 puncte |
catalin_si_armata.cpp: In function 'int main()': catalin_si_armata.cpp:44:9: warning: unused variable 'val' [-Wunused-variable] int val; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
1 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
2 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
3 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
4 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
5 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
6 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
7 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
8 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
9 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
Punctaj total | 0 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Catalin si armata 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ă.