#588
Dijkstra
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 | #51843079 | Utilizator | |
Fișier | dijkstra.cpp | Dimensiune | 1.74 KB |
Data încărcării | 28 August 2024, 14:51 | Scor / rezultat | Eroare de compilare |
dijkstra.cpp: In function 'void dijkstra(int, int, std::unordered_map<int, std::vector<std::pair<int, int> > >&, std::vector<int>&, std::vector<int>&)': dijkstra.cpp:11:60: error: 'Compare' was not declared in this scope priority_queue<pair<int, int>, vector<pair<int, int>>, Compare> pq; ^ dijkstra.cpp:11:67: error: template argument 3 is invalid priority_queue<pair<int, int>, vector<pair<int, int>>, Compare> pq; ^ dijkstra.cpp:11:71: error: invalid type in declaration before ';' token priority_queue<pair<int, int>, vector<pair<int, int>>, Compare> pq; ^ dijkstra.cpp:13:8: error: request for member 'emplace' in 'pq', which is of non-class type 'int' pq.emplace(start, 0); ^ dijkstra.cpp:16:15: error: request for member 'empty' in 'pq', which is of non-class type 'int' while(!pq.empty()) { ^ dijkstra.cpp:17:31: error: request for member 'top' in 'pq', which is of non-class type 'int' pair<int, int> p = pq.top(); ^ dijkstra.cpp:20:12: error: request for member 'pop' in 'pq', which is of non-class type 'int' pq.pop(); ^ dijkstra.cpp:22:52: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i = 0; i < graph[currentNode].size(); i++) { ^ dijkstra.cpp:29:20: error: request for member 'emplace' in 'pq', which is of non-class type 'int' pq.emplace(nextNode, distance[nextNode]); ^
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ă.