#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 | #57039534 | Utilizator | |
Fișier | ateleport.cpp | Dimensiune | 2.13 KB |
Data încărcării | 13 Martie 2025, 17:45 | Scor / rezultat | Eroare de compilare |
ateleport.cpp: In function 'void Dijkstra(int)': ateleport.cpp:15:19: error: converting to 'std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int, int, int&}; <template-parameter-2-2> = void; _Elements = {int, int, int}]' q.push({0,0,k}); ^ ateleport.cpp:23:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0;i<a[nodcurr].size();i++) ^ ateleport.cpp:31:64: error: converting to 'std::priority_queue<std::tuple<int, int, int>, std::vector<std::tuple<int, int, int> >, std::greater<std::tuple<int, int, int> > >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int, int&}; <template-parameter-2-2> = void; _Elements = {int, int, int}]' q.push({d[vecin][telep+adaug],telep+adaug,vecin}); ^ ateleport.cpp:20:13: warning: unused variable 'dist' [-Wunused-variable] int dist=get<0>(q.top()); ^ ateleport.cpp: In function 'void bfs(int)': ateleport.cpp:46:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0;i<a1[k].size();i++) ^ ateleport.cpp: In function 'int main()': ateleport.cpp:66:31: error: converting to 'std::vector<std::tuple<int, int, int> >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int}; <template-parameter-2-2> = void; _Elements = {int, int, int}]' a[x].push_back({y,t,0}); ^ ateleport.cpp:67:31: error: converting to 'std::vector<std::tuple<int, int, int> >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int}; <template-parameter-2-2> = void; _Elements = {int, int, int}]' a[y].push_back({x,t,0}); ^ ateleport.cpp:68:32: error: converting to 'std::vector<std::tuple<int, int, int> >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int}; <template-parameter-2-2> = void; _Elements = {int, int, int}]' a1[x].push_back({y,t,0}); ^ ateleport.cpp:69:32: error: converting to 'std::vector<std::tuple<int, int, int> >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int}; <template-parameter-2-2> = void; _Elements = {int, int, int}]' a1[y].push_back({x,t,0}); ^ ateleport.cpp:78:31: error: converting to 'std::vector<std::tuple<int, int, int> >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int}; <template-parameter-2-2> = void; _Elements = {int, int, int}]' a[i].push_back({j,p,1}); ^ ateleport.cpp:79:31: error: converting to 'std::vector<std::tuple<int, int, int> >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int}; <template-parameter-2-2> = void; _Elements = {int, int, int}]' a[j].push_back({i,p,1}); ^
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ă.