#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 | #64329467 | Utilizator | |
| Fișier | ateleport.cpp | Dimensiune | 3.40 KB |
| Data încărcării | 30 Aprilie 2026, 00:38 | Scor/rezultat | Eroare de compilare |
ateleport.cpp: In function ‘int main()’: ateleport.cpp:48:26: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 48 | for(auto [nxt, w]: adj[cur]){ | ^ ateleport.cpp:70:87: error: wrong number of template arguments (0, should be 1) 70 | priority_queue<tuple<long long,int,int>, vector<tuple<long long,int,int>>, greater<>> pq; | ^ In file included from /usr/include/c++/13/string:49, from /usr/include/c++/13/bitset:52, from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:52, from ateleport.cpp:1: /usr/include/c++/13/bits/stl_function.h:393:12: note: provided for ‘template<class _Tp> struct std::greater’ 393 | struct greater : public binary_function<_Tp, _Tp, bool> | ^~~~~~~ ateleport.cpp:70:88: error: template argument 3 is invalid 70 | priority_queue<tuple<long long,int,int>, vector<tuple<long long,int,int>>, greater<>> pq; | ^~ ateleport.cpp:73:8: error: request for member ‘push’ in ‘pq’, which is of non-class type ‘int’ 73 | pq.push({0, 1, 0}); | ^~~~ ateleport.cpp:75:15: error: request for member ‘empty’ in ‘pq’, which is of non-class type ‘int’ 75 | while(!pq.empty()){ | ^~~~~ ateleport.cpp:76:14: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 76 | auto [d, u, k] = pq.top(); pq.pop(); | ^ ateleport.cpp:76:29: error: request for member ‘top’ in ‘pq’, which is of non-class type ‘int’ 76 | auto [d, u, k] = pq.top(); pq.pop(); | ^~~ ateleport.cpp:76:39: error: request for member ‘pop’ in ‘pq’, which is of non-class type ‘int’ 76 | auto [d, u, k] = pq.top(); pq.pop(); | ^~~ ateleport.cpp:81:18: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 81 | for(auto [v, t]: adj[u]){ | ^ ateleport.cpp:85:20: error: request for member ‘push’ in ‘pq’, which is of non-class type ‘int’ 85 | pq.push({nd, v, k}); | ^~~~ ateleport.cpp:95:24: error: request for member ‘push’ in ‘pq’, which is of non-class type ‘int’ 95 | pq.push({nd, v, k+1}); | ^~~~ ateleport.cpp:8:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 8 | freopen("ateleport.in","r",stdin); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ateleport.cpp:9:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 9 | freopen("ateleport.out","w",stdout); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
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ă.