#3446
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 | #63372306 | Utilizator | |
| Fișier | ateleport.cpp | Dimensiune | 2.58 KB |
| Data încărcării | 28 Februarie 2026, 14:17 | Scor/rezultat | Eroare de compilare |
ateleport.cpp: In function 'void Dijkstra()': ateleport.cpp:30:24: error: converting to 'std::priority_queue<std::tuple<int, int, int, int>, std::vector<std::tuple<int, int, int, int> >, std::greater<std::tuple<int, int, int, int> > >::value_type {aka std::tuple<int, int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int, int&}; <template-parameter-2-2> = void; _Elements = {int, int, int, int}]' Q.push({0, 1, 0, k}); ^ ateleport.cpp:45:92: error: converting to 'std::priority_queue<std::tuple<int, int, int, int>, std::vector<std::tuple<int, int, int, int> >, std::greater<std::tuple<int, int, int, int> > >::value_type {aka std::tuple<int, int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int, int&}; <template-parameter-2-2> = void; _Elements = {int, int, int, int}]' Q.push({dp[y][canale + 1][teleport_left], y, canale + 1, teleport_left}); ^ ateleport.cpp:52:78: error: converting to 'std::priority_queue<std::tuple<int, int, int, int>, std::vector<std::tuple<int, int, int, int> >, std::greater<std::tuple<int, int, int, int> > >::value_type {aka std::tuple<int, int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int, int}; <template-parameter-2-2> = void; _Elements = {int, int, int, int}]' Q.push({dp[y][1][teleport_left - 1], y, 1, teleport_left - 1}); ^ ateleport.cpp:58:74: error: converting to 'std::priority_queue<std::tuple<int, int, int, int>, std::vector<std::tuple<int, int, int, int> >, std::greater<std::tuple<int, int, int, int> > >::value_type {aka std::tuple<int, int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int, int&}; <template-parameter-2-2> = void; _Elements = {int, int, int, int}]' Q.push({dp[y][0][teleport_left - 1], y, 0, teleport_left}); ^
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ă.