#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 | #35882746 | Utilizator | |
Fișier | dijkstra.cpp | Dimensiune | 1.18 KB |
Data încărcării | 25 Martie 2022, 22:57 | Scor / rezultat | Eroare de compilare |
dijkstra.cpp: In function 'int main()': dijkstra.cpp:50:61: error: no matching function for call to 'std::vector<std::vector<std::pair<int, int> > >::vector(int, std::pair<int, int>)' G = vector<vector<pair<int, int>>> (n + 1, make_pair(0, 0)); ^ dijkstra.cpp:50:61: note: candidates are: In file included from /usr/include/c++/4.8/vector:64:0, from dijkstra.cpp:2: /usr/include/c++/4.8/bits/stl_vector.h:392:9: note: template<class _InputIterator, class> std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const allocator_type&) vector(_InputIterator __first, _InputIterator __last, ^ /usr/include/c++/4.8/bits/stl_vector.h:392:9: note: template argument deduction/substitution failed: dijkstra.cpp:50:61: note: deduced conflicting types for parameter '_InputIterator' ('int' and 'std::pair<int, int>') G = vector<vector<pair<int, int>>> (n + 1, make_pair(0, 0)); ^ In file included from /usr/include/c++/4.8/vector:64:0, from dijkstra.cpp:2: /usr/include/c++/4.8/bits/stl_vector.h:364:7: note: std::vector<_Tp, _Alloc>::vector(std::initializer_list<_Tp>, const allocator_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::vector<std::pair<int, int> > >] vector(initializer_list<value_type> __l, ^ /usr/include/c++/4.8/bits/stl_vector.h:364:7: note: no known conversion for argument 1 from 'int' to 'std::initializer_list<std::vector<std::pair<int, int> > >' /usr/include/c++/4.8/bits/stl_vector.h:340:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&, const allocator_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::vector<std::pair<int, int> > >] vector(vector&& __rv, const allocator_type& __m) ^ /usr/include/c++/4.8/bits/stl_vector.h:340:7: note: no known conversion for argument 1 from 'int' to 'std::vector<std::vector<std::pair<int, int> > >&&' /usr/include/c++/4.8/bits/stl_vector.h:331:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&, const allocator_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::vector<std::pair<int, int> > >] vector(const vector& __x, const allocator_type& __a) ^ /usr/include/c++/4.8/bits/stl_vector.h:331:7: note: no known conversion for argument 1 from 'int' to 'const std::vector<std::vector<std::pair<int, int> > >&' /usr/include/c++/4.8/bits/stl_vector.h:327:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>&&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >] vector(vector&& __x) noexcept ^ /usr/include/c++/4.8/bits/stl_vector.h:327:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/4.8/bits/stl_vector.h:310:7: note: std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >] vector(const vector& __x) ^ /usr/include/c++/4.8/bits/stl_vector.h:310:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/4.8/bits/stl_vector.h:281:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::value_type = std::vector<std::pair<int, int> >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::vector<std::pair<int, int> > >] vector(size_type __n, const value_type& __value, ^ /usr/include/c++/4.8/bits/stl_vector.h:281:7: note: no known conversion for argument 2 from 'std::pair<int, int>' to 'const value_type& {aka const std::vector<std::pair<int, int> >&}' /usr/include/c++/4.8/bits/stl_vector.h:269:7: note: std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const allocator_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::vector<std::pair<int, int> > >] vector(size_type __n, const allocator_type& __a = allocator_type()) ^ /usr/include/c++/4.8/bits/stl_vector.h:269:7: note: no known conversion for argument 2 from 'std::pair<int, int>' to 'const allocator_type& {aka const std::allocator<std::vector<std::pair<int, int> > >&}' /usr/include/c++/4.8/bits/stl_vector.h:256:7: note: std::vector<_Tp, _Alloc>::vector(const allocator_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<std::vector<std::pair<int, int> > >] vector(const allocator_type& __a) ^ /usr/include/c++/4.8/bits/stl_vector.h:256:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/4.8/bits/stl_vector.h:248:7: note: std::vector<_Tp, _Alloc>::vector() [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >] vector() ^ /usr/include/c++/4.8/bits/stl_vector.h:248:7: note: candidate expects 0 arguments, 2 provided
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ă.