#979
Alice
Într-o zi frumoasă de vară, Alice se juca în parc. Deodată, văzu un iepure cu ceas, numit Iepurele Alb, sărind grăbit în scorbura unui copac. Curioasă, Alice îl urmări şi sări şi ea în scorbură. Spre mirarea ei, ajunse într-o sală mare cu N
uşi încuiate. Pe fiecare uşă era scris câte un număr natural. Într-o clipă, lângă ea apăru Iepurele Alb şi-i spuse că doar uşile cu numere magice pot fi deschise dacă are cheile potrivite. Pentru a o ajuta, Iepurele Alb i-a explicat că un număr magic este un număr natural care poate fi redus la o cifră prin complementarea cifrelor acestuia faţă de cifra sa maximă din scrierea zecimală, apoi prin complementarea cifrelor numărului obţinut faţă de cifra sa maximă şi aşa mai departe până când se obţine o cifră. Evident, nu toate numerele naturale sunt numere magice. De exemplu, uşa cu numărul 1234
poate fi deschisă cu cheia inscripţionată cu cifra 1
deoarece 1234
este un număr magic ce poate fi redus la cifra 1
prin complementări repetate (1234→3210→123→210→12→10→1
), iar uşa cu numărul 1204
nu poate fi deschisă deoarece 1204
nu este un număr magic (indiferent de câte ori s-ar repeta complementarea nu poate fi redus la o cifră: 1204→3240→1204→3240→1204 ...
).
Înainte să dispară, Iepurele Alb îi dădu o cheie aurie inscripţionată cu cifra K
şi o avertiză că poate deschide cu această cheie doar uşile cu numere magice ce pot fi reduse la cifra K
.
Scrieţi un program care să citească numerele naturale N
, K
şi cele N
numere naturale scrise pe cele N
uşi, şi care să determine:
a) cel mai mare număr par dintre numerele scrise pe cele N
uşi;
b) numărul uşilor care pot fi deschise cu cheia aurie inscripţionată cu cifra K
.
Problema | Alice | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #53913206 | Utilizator | |
Fișier | alice.cpp | Dimensiune | 734 B |
Data încărcării | 14 Noiembrie 2024, 16:20 | Scor / rezultat | 10 puncte |
alice.cpp: In function 'int main()': alice.cpp:7:41: warning: unused variable 'nr_cif' [-Wunused-variable] int x,nr,cmax,p,y,cate=0,maxi=0,k,n,nr_cif; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Cerinta a - corect. Cerinta b - corect. | 10 | 10 | Exemplu | |
2 | Depășit | Limita de timp depășită | 10 | 0 | ||
3 | Depășit | Limita de timp depășită | 10 | 0 | ||
4 | Depășit | Limita de timp depășită | 10 | 0 | ||
5 | Depășit | Limita de timp depășită | 10 | 0 | ||
6 | Depășit | Limita de timp depășită | 10 | 0 | ||
7 | Depășit | Limita de timp depășită | 10 | 0 | ||
8 | Depășit | Limita de timp depășită | 10 | 0 | ||
9 | Depășit | Limita de timp depășită | 10 | 0 | ||
10 | Depășit | Limita de timp depășită | 10 | 0 | ||
Punctaj total | 10 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Alice 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ă.