#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 | #42828597 | Utilizator | |
Fișier | ateleport.cpp | Dimensiune | 3.51 KB |
Data încărcării | 18 Martie 2023, 21:32 | Scor / rezultat | 0 puncte |
ateleport.cpp: In function 'int main()': ateleport.cpp:79:17: warning: overflow in implicit constant conversion [-Woverflow] tm[i][j][k1]=20000000000; ^ ateleport.cpp:92:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(i=0;i<b[x.nod].size();++i) ^ ateleport.cpp: In member function 'void min_heap::push(elem)': ateleport.cpp:22:39: warning: 'poz' may be used uninitialized in this function [-Wmaybe-uninitialized] if(v[poz].timp<v[poz/2].timp) ^ ateleport.cpp: In function 'int main()': ateleport.cpp:79:29: warning: iteration 10003u invokes undefined behavior [-Waggressive-loop-optimizations] tm[i][j][k1]=20000000000; ^ ateleport.cpp:76:5: note: containing loop for(i=0;i<1000001;++i) ^ ateleport.cpp:22:45: warning: 'poz' is used uninitialized in this function [-Wuninitialized] if(v[poz].timp<v[poz/2].timp) ^ ateleport.cpp:17:25: note: 'poz' was declared here int poz; ^ ateleport.cpp:38:28: warning: 'poz' may be used uninitialized in this function [-Wmaybe-uninitialized] while(2*poz+1<=size) ^ ateleport.cpp:33:25: note: 'poz' was declared here int poz; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | ||
1 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | ||
2 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
3 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
4 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
5 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
6 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
7 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
8 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
9 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
10 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | ||
11 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | ||
12 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | ||
13 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | ||
14 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
15 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
16 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
17 | 0.008 secunde | Caught fatal signal 11 | 5 | 0 | ||
18 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | Exemplu | |
19 | 0.004 secunde | Caught fatal signal 11 | 5 | 0 | Exemplu | |
Punctaj total | 0 |
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ă.