Detalii evaluare #41973647

Rezumat problemă

#3745 Oposumi

O familie de oposumi are o vizuină cu N niveluri și N * (N + 1) / 2 camere dispuse în formă de matrice triunghiulară cu N linii. În fiecare cameră poate locui un singur oposum. Vizuina a fost săpată în pământ de către oposumi, iar nivelul 1 (cel mai de sus) este cel mai apropiat de suprafața solului. Pe fiecare nivel I se află I camere. Dacă avem I < J, atunci nivelul I va fi poziționat mai sus decât nivelul J, adică nivelul I va fi mai aproape de suprafața solului decât nivelul J. În familia de oposumi se află exact N * (N + 1) / 2 membri cu vârste cuprinse între 1 și N * (N + 1) / 2, vârste distincte. Regula de bază în vizuina familiei de oposumi este următoarea: în camera de pe linia I și coloana J trebuie să locuiască un oposum mai tânăr decât în camerele de pe pozițiile (I + 1, J) respectiv (I + 1, J + 1). Un oposum de vârsta X se consideră mai tânăr decât un oposum de vârsta Y dacă X < Y. Fiecare oposum vrea să știe care e cel mai de sus nivel pe care se poate poziționa. Din păcate, ei nu au lăbuțele făcute să programeze, așa că membrii familiei de oposumi vă cer vouă ajutorul.
Dându-se numărul natural N ei vă cer să răspundeți la două întrebări:
1. Pentru fiecare oposum să se afle nivelul cel mai de sus (cel mai aproapiat de suprafața solului) pe care se
poate afla respectând regulile de vârstă.
2. Pentru un oposum dat de vârsta K să se afișeze matricea astfel încât oposumul să stea într-o cameră pe un nivel cât mai de sus respectând regulile de vârstă.

Detalii

Problema Oposumi Operații I/O oposumi.in/oposumi.out
Limita timp 0.2 secunde Limita memorie Total: 256 MB / Stivă 8 MB
Id soluție #41973647 Utilizator Rebengiuc Mircea (mircea_007)
Fișier oposumi.cpp Dimensiune 1.51 KB
Data încărcării 09 Februarie 2023, 23:35 Scor / rezultat 0 puncte

Evaluare


Mesaj compilare

oposumi.cpp: In function 'int main()':
oposumi.cpp:51:37: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf( fin, "%d%d", &task, &n );

                                     ^
oposumi.cpp:58:32: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf( fin, "%d", &k );

                                ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0 secunde Gresit 10 0
1 0 secunde Gresit 10 0
2 0.004 secunde Gresit 10 0
3 0.02 secunde Gresit 10 0
4 0.052 secunde Gresit 10 0
5 0 secunde Caught fatal signal 11 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

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