#3446
Ateleport
Marian se află în galaxia OJI-2020 și este anul 11235. În această galaxie există N
planete diferite și M
canale bidirecţionale de transport de tipul (x, y, t)
care îţi permit să te deplasezi de pe planeta x
pe planeta y
(sau invers) în t
secunde.
Dar Marian este un adevărat inginer și, pentru că i se pare foarte ineficientă această metodă de transport, a dezvoltat un dispozitiv care îți permite teleportarea de pe o planetă x
pe orice altă planetă y
în P
secunde cu condiţia că ai putea ajunge pornind de pe planeta x
pe planeta y
folosind maxim L
canale de transport.
Acest dispozitiv este momentan doar un prototip, așa că nu îl poate folosi mai mult de K
ori. Marian se află pe planeta 1
și te roagă să îi spui care e timpul minim necesar pentru a ajunge pe planeta N
.
Să se scrie un program care calculează timpul minim necesar pentru a ajunge pe planeta N
pornind de pe planeta 1
.
OJI 2020, clasele XI-XII
Problema | Ateleport | Operații I/O |
ateleport.in /ateleport.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 32 MB
|
Id soluție | #54752697 | Utilizator | |
Fișier | ateleport.cpp | Dimensiune | 4.01 KB |
Data încărcării | 07 Decembrie 2024, 13:48 | Scor / rezultat | 70 puncte |
ateleport.cpp: In function 'int main()': ateleport.cpp:80:50: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(in, "%d %d", &numNodes, &numEdges); ^ ateleport.cpp:81:67: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(in, "%d %d %d", &ticketCost, &maxDist, &numTickets); ^ ateleport.cpp:85:64: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(in, "%d %d %d", &nodeA, &nodeB, &weight); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 5 | 5 | ||
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0.016 secunde | OK. | 5 | 5 | ||
3 | 0.088 secunde | OK. | 5 | 5 | ||
4 | 0.284 secunde | OK. | 5 | 5 | ||
5 | Depășit | Limita de timp depășită | 5 | 0 | ||
6 | 0.012 secunde | OK. | 5 | 5 | ||
7 | 0.036 secunde | OK. | 5 | 5 | ||
8 | 0.152 secunde | OK. | 5 | 5 | ||
9 | Depășit | Limita de timp depășită | 5 | 0 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0 secunde | OK. | 5 | 5 | ||
12 | 0.004 secunde | OK. | 5 | 5 | ||
13 | 0.004 secunde | OK. | 5 | 5 | ||
14 | Depășit | Limita de timp depășită | 5 | 0 | ||
15 | Depășit | Limita de timp depășită | 5 | 0 | ||
16 | Depășit | Limita de timp depășită | 5 | 0 | ||
17 | Depășit | Limita de timp depășită | 5 | 0 | ||
18 | 0 secunde | OK. | 5 | 5 | Exemplu | |
19 | 0 secunde | OK. | 5 | 5 | Exemplu | |
Punctaj total | 70 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Ateleport 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ă.