#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 | #51815474 | Utilizator | |
Fișier | ateleport.cpp | Dimensiune | 2.70 KB |
Data încărcării | 23 August 2024, 23:33 | Scor / rezultat | Eroare de compilare |
ateleport.cpp: In function 'void dijkstra(int, int, std::vector<std::vector<std::pair<int, int> > >&, std::vector<int>&, std::vector<std::vector<int> >, int, int, int)': ateleport.cpp:37:14: error: expected unqualified-id before '[' token auto [current_dist, u, teleports_used] = pq.top(); ^ ateleport.cpp:40:13: error: 'current_dist' was not declared in this scope if (current_dist > min_dist[u]) continue; ^ ateleport.cpp:40:37: error: 'u' was not declared in this scope if (current_dist > min_dist[u]) continue; ^ ateleport.cpp:42:33: error: 'u' was not declared in this scope for (auto& edge : graph[u]) { ^ ateleport.cpp:46:47: error: 'teleports_used' was not declared in this scope if (dist[u][v] <= L && P < dis && teleports_used < K){ ^ ateleport.cpp:54:52: error: 'teleports_used' was not declared in this scope pq.push(make_tuple(min_dist[v], v, teleports_used)); ^
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ă.