#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 | #64945992 | Utilizator | |
| Fișier | dijkstra.cpp | Dimensiune | 1.27 KB |
| Data încărcării | 20 Iunie 2026, 13:32 | Scor/rezultat | Eroare de compilare |
dijkstra.cpp: In function ‘void dijkstra(int)’: dijkstra.cpp:23:9: error: ‘dist’ was not declared in this scope 23 | dist[i] = 10000001; | ^~~~ dijkstra.cpp:26:5: error: ‘dist’ was not declared in this scope 26 | dist[nod] = 0; | ^~~~ dijkstra.cpp:39:23: error: no matching function for call to ‘std::priority_queue<std::pair<int, int>, std::vector<std::pair<int, int> >, std::greater<std::pair<int, int> > >::push(<brace-enclosed initializer list>)’ 39 | q.push({dist[vecin], vecin}); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/13/queue:66, from dijkstra.cpp:3: /usr/include/c++/13/bits/stl_queue.h:738:7: note: candidate: ‘void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = std::pair<int, int>; _Sequence = std::vector<std::pair<int, int> >; _Compare = std::greater<std::pair<int, int> >; value_type = std::pair<int, int>]’ 738 | push(const value_type& __x) | ^~~~ /usr/include/c++/13/bits/stl_queue.h:738:30: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const std::priority_queue<std::pair<int, int>, std::vector<std::pair<int, int> >, std::greater<std::pair<int, int> > >::value_type&’ {aka ‘const std::pair<int, int>&’} 738 | push(const value_type& __x) | ~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/13/bits/stl_queue.h:746:7: note: candidate: ‘void std::priority_queue<_Tp, _Sequence, _Compare>::push(value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::vector<std::pair<int, int> >; _Compare = std::greater<std::pair<int, int> >; value_type = std::pair<int, int>]’ 746 | push(value_type&& __x) | ^~~~ /usr/include/c++/13/bits/stl_queue.h:746:25: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::priority_queue<std::pair<int, int>, std::vector<std::pair<int, int> >, std::greater<std::pair<int, int> > >::value_type&&’ {aka ‘std::pair<int, int>&&’} 746 | push(value_type&& __x) | ~~~~~~~~~~~~~^~~ dijkstra.cpp: In function ‘int main()’: dijkstra.cpp:50:13: error: ‘dist’ was not declared in this scope 50 | if (dist[i] == 10000001) | ^~~~
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ă.