#1887
Dijkstra are nevoie de ajutorul vostru pentru a-și duce la bun sfârșit datoria. Acesta vrea să afle drumurile de lungime minimă de la casa prietenului său Vlad la celelalte case ale vecinilor. Nu are foarte mult timp la dispoziție așa ca trebuie să vă mișcați repede. Îl veți ajuta?
| Problema | Dijkstra2 | Operații I/O |
dijkstra2.in/dijkstra2.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64148872 | Utilizator | |
| Fișier | dijkstra2.cpp | Dimensiune | 1.11 KB |
| Data încărcării | 20 Aprilie 2026, 14:47 | Scor/rezultat | Eroare de compilare |
dijkstra2.cpp: In function ‘int main()’: dijkstra2.cpp:30:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::pair<int, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for(x=j;x<v[nod].size();x++) | ~^~~~~~~~~~~~~~ dijkstra2.cpp:35:33: error: no matching function for call to ‘std::set<std::pair<int, int> >::find(int&, int&)’ 35 | se.erase(se.find(s[v[nod][x].first],v[nod][x].first)}); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/13/set:63, from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:158, from dijkstra2.cpp:1: /usr/include/c++/13/bits/stl_set.h:796:7: note: candidate: ‘std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::find(const key_type&) [with _Key = std::pair<int, int>; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<int, int> >; iterator = std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int> >, std::less<std::pair<int, int> >, std::allocator<std::pair<int, int> > >::const_iterator; key_type = std::pair<int, int>]’ 796 | find(const key_type& __x) | ^~~~ /usr/include/c++/13/bits/stl_set.h:796:7: note: candidate expects 1 argument, 2 provided /usr/include/c++/13/bits/stl_set.h:800:7: note: candidate: ‘std::set<_Key, _Compare, _Alloc>::const_iterator std::set<_Key, _Compare, _Alloc>::find(const key_type&) const [with _Key = std::pair<int, int>; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<int, int> >; const_iterator = std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int> >, std::less<std::pair<int, int> >, std::allocator<std::pair<int, int> > >::const_iterator; key_type = std::pair<int, int>]’ 800 | find(const key_type& __x) const | ^~~~ /usr/include/c++/13/bits/stl_set.h:800:7: note: candidate expects 1 argument, 2 provided dijkstra2.cpp:35:70: error: expected primary-expression before ‘)’ token 35 | se.erase(se.find(s[v[nod][x].first],v[nod][x].first)}); | ^ dijkstra2.cpp:36:25: error: ‘__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type’ {aka ‘struct std::pair<int, int>’} has no member named ‘find’ 36 | s[v[nod][x].find]=cost+v[x].second; | ^~~~ dijkstra2.cpp:36:41: error: ‘class std::vector<std::pair<int, int> >’ has no member named ‘second’ 36 | s[v[nod][x].find]=cost+v[x].second; | ^~~~~~ dijkstra2.cpp: At global scope: dijkstra2.cpp:41:1: error: expected unqualified-id before ‘for’ 41 | for(x=1;x<=n;x++) | ^~~ dijkstra2.cpp:41:9: error: ‘x’ does not name a type 41 | for(x=1;x<=n;x++) | ^ dijkstra2.cpp:41:14: error: ‘x’ does not name a type 41 | for(x=1;x<=n;x++) | ^ dijkstra2.cpp:44:5: error: expected unqualified-id before ‘else’ 44 | else | ^~~~ dijkstra2.cpp:46:1: error: ‘f’ does not name a type 46 | f.close(); | ^ dijkstra2.cpp:47:1: error: ‘g’ does not name a type 47 | g.close(); | ^ dijkstra2.cpp:48:1: error: expected unqualified-id before ‘return’ 48 | return 0; | ^~~~~~ dijkstra2.cpp:49:1: error: expected declaration before ‘}’ token 49 | } | ^ /usr/include/c++/13/bits/stl_set.h: In instantiation of ‘void std::set<_Key, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = int; _Key = std::pair<int, int>; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<int, int> >]’: dijkstra2.cpp:37:22: required from here /usr/include/c++/13/bits/stl_set.h:569:38: error: no matching function for call to ‘std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int> >, std::less<std::pair<int, int> >, std::allocator<std::pair<int, int> > >::_M_insert_range_unique(int&, int&)’ 569 | { _M_t._M_insert_range_unique(__first, __last); } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/13/map:62, from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:152: /usr/include/c++/13/bits/stl_tree.h:1100:9: note: candidate: ‘template<class _InputIterator> std::__enable_if_t<std::is_same<_Val, typename std::iterator_traits<_InputIterator>::value_type>::value> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_range_unique(_InputIterator, _InputIterator) [with _Key = std::pair<int, int>; _Val = std::pair<int, int>; _KeyOfValue = std::_Identity<std::pair<int, int> >; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<int, int> >]’ 1100 | _M_insert_range_unique(_InputIterator __first, _InputIterator __last) | ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stl_tree.h:1100:9: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_tree.h: In substitution of ‘template<class _InputIterator> std::__enable_if_t<std::is_same<std::pair<int, int>, typename std::iterator_traits< <template-parameter-1-1> >::value_type>::value, void> std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int> >, std::less<std::pair<int, int> >, std::allocator<std::pair<int, int> > >::_M_insert_range_unique(_InputIterator, _InputIterator) [with _InputIterator = int]’: /usr/include/c++/13/bits/stl_set.h:569:31: required from ‘void std::set<_Key, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = int; _Key = std::pair<int, int>; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<int, int> >]’ dijkstra2.cpp:37:22: required from here /usr/include/c++/13/bits/stl_tree.h:1100:9: error: no type named ‘value_type’ in ‘struct std::iterator_traits<int>’ /usr/include/c++/13/bits/stl_set.h: In instantiation of ‘void std::set<_Key, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = int; _Key = std::pair<int, int>; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<int, int> >]’: dijkstra2.cpp:37:22: required from here /usr/include/c++/13/bits/stl_tree.h:1109:9: note: candidate: ‘template<class _InputIterator> std::__enable_if_t<(! std::is_same<_Val, typename std::iterator_traits<_InputIterator>::value_type>::value)> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_range_unique(_InputIterator, _InputIterator) [with _Key = std::pair<int, int>; _Val = std::pair<int, int>; _KeyOfValue = std::_Identity<std::pair<int, int> >; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<int, int> >]’ 1109 | _M_insert_range_unique(_InputIterator __first, _InputIterator __last) | ^~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/13/bits/stl_tree.h:1109:9: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/stl_tree.h: In substitution of ‘template<class _InputIterator> std::__enable_if_t<(! std::is_same<std::pair<int, int>, typename std::iterator_traits< <template-parameter-1-1> >::value_type>::value), void> std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int> >, std::less<std::pair<int, int> >, std::allocator<std::pair<int, int> > >::_M_insert_range_unique(_InputIterator, _InputIterator) [with _InputIterator = int]’: /usr/include/c++/13/bits/stl_set.h:569:31: required from ‘void std::set<_Key, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = int; _Key = std::pair<int, int>; _Compare = std::less<std::pair<int, int> >; _Alloc = std::allocator<std::pair<int, int> >]’ dijkstra2.cpp:37:22: required from here /usr/include/c++/13/bits/stl_tree.h:1108:59: error: no type named ‘value_type’ in ‘struct std::iterator_traits<int>’ 1108 | __enable_if_t<!__same_value_type<_InputIterator>::value> | ^~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Dijkstra2 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ă.