Detalii evaluare #64148872

Rezumat problemă

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?

Detalii

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 Butaru Fabian (Fabian02)
Fișier dijkstra2.cpp Dimensiune 1.11 KB
Data încărcării 20 Aprilie 2026, 14:47 Scor/rezultat Eroare de compilare

Evaluare

Mesaj 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>
      |                                                           ^~~~~

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Dijkstra2 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.

Du-te sus!