#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 | #54737527 | Utilizator | |
Fișier | ateleport.cpp | Dimensiune | 2.89 KB |
Data încărcării | 06 Decembrie 2024, 20:10 | Scor / rezultat | 85 puncte |
ateleport.cpp: In function 'void bfs(int, int, std::priority_queue<nod_parcurs>&)': ateleport.cpp:43:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0; i<adc[curVal].size() && curDist<l; i++) ^ ateleport.cpp: In function 'void dijkstra(int)': ateleport.cpp:73:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0; i<adc[tp.nod].size(); i++) ^ ateleport.cpp: In function 'int main()': ateleport.cpp:98:53: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(in, "%d %d %d %d %d", &n, &m, &p, &l, &k); ^ ateleport.cpp:102:43: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(in, "%d %d %d", &x, &y, &c); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 5 | 5 | ||
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0.004 secunde | OK. | 5 | 5 | ||
5 | 0.004 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | OK. | 5 | 5 | ||
7 | 0 secunde | OK. | 5 | 5 | ||
8 | 0.004 secunde | OK. | 5 | 5 | ||
9 | 0.004 secunde | OK. | 5 | 5 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0 secunde | OK. | 5 | 5 | ||
12 | 0.004 secunde | Raspuns gresit. | 5 | 0 | ||
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 | 0.116 secunde | OK. | 5 | 5 | ||
17 | 0.216 secunde | OK. | 5 | 5 | ||
18 | 0 secunde | OK. | 5 | 5 | Exemplu | |
19 | 0 secunde | OK. | 5 | 5 | Exemplu | |
Punctaj total | 85 |
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ă.