#588
Se dă un graf orientat ponderat – în care fiecare arc are asociat un cost, număr natural strict pozitiv, și un nod p. Să se determine, folosind algoritmul lui Dijkstra, costul minim al drumului de la p la fiecare nod al grafului.
| Problema | Dijkstra | Operații I/O |
dijkstra.in/dijkstra.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64116605 | Utilizator | |
| Fișier | dijkstra.cpp | Dimensiune | 1.07 KB |
| Data încărcării | 17 Aprilie 2026, 22:38 | Scor/rezultat | Eroare de compilare |
dijkstra.cpp: In function ‘void dijkstra(int, std::vector<int>&)’: dijkstra.cpp:10:67: error: wrong number of template arguments (0, should be 1) 10 | priority_queue<pair<int, int>, vector<pair<int, int>>, greater<>>pq; | ^ In file included from /usr/include/c++/13/string:49, from /usr/include/c++/13/bits/locale_classes.h:40, from /usr/include/c++/13/bits/ios_base.h:41, from /usr/include/c++/13/ios:44, from /usr/include/c++/13/istream:40, from /usr/include/c++/13/fstream:40, from dijkstra.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> | ^~~~~~~ dijkstra.cpp:10:68: error: template argument 3 is invalid 10 | priority_queue<pair<int, int>, vector<pair<int, int>>, greater<>>pq; | ^~ dijkstra.cpp:11:8: error: request for member ‘emplace’ in ‘pq’, which is of non-class type ‘int’ 11 | pq.emplace(D[start], start); | ^~~~~~~ dijkstra.cpp:12:16: error: request for member ‘empty’ in ‘pq’, which is of non-class type ‘int’ 12 | while (!pq.empty()) { | ^~~~~ dijkstra.cpp:13:14: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 13 | auto [dist, v] = pq.top(); | ^ dijkstra.cpp:13:29: error: request for member ‘top’ in ‘pq’, which is of non-class type ‘int’ 13 | auto [dist, v] = pq.top(); | ^~~ dijkstra.cpp:14:12: error: request for member ‘pop’ in ‘pq’, which is of non-class type ‘int’ 14 | pq.pop(); | ^~~ dijkstra.cpp:15:19: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 15 | for (auto [u, cost] : adj[v]) { | ^ dijkstra.cpp:18:20: error: request for member ‘emplace’ in ‘pq’, which is of non-class type ‘int’ 18 | pq.emplace(D[u], u); | ^~~~~~~ dijkstra.cpp: In function ‘int main()’: dijkstra.cpp:27:12: warning: unused variable ‘m’ [-Wunused-variable] 27 | int n, m, start; | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Dijkstra 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ă.