#592
Se dă un graf neorientat ponderat conex cu n vârfuri și m muchii – în care fiecare muchie are asociat un cost, număr natural strict pozitiv. Folosind algoritmul lui Kruskal, determinați un arbore parțial de cost minim.
| Problema | Kruskal | Operații I/O |
kruskal.in/kruskal.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64404613 | Utilizator | |
| Fișier | kruskal.cpp | Dimensiune | 970 B |
| Data încărcării | 05 Mai 2026, 12:58 | Scor/rezultat | Eroare de compilare |
kruskal.cpp:16:1: error: two or more data types in declaration of ‘fcmp’ 16 | int | ^~~ kruskal.cpp: In function ‘int main()’: kruskal.cpp:43:12: error: ‘V’ was not declared in this scope 43 | if(V[M[k].i] != V[M[k].j]) | ^ kruskal.cpp:45:28: error: expected ‘]’ before ‘cmin’ 45 | int rmkj = V[M[k].i | ^ | ] 46 | cmin+=M[k].cost; | ~~~~ kruskal.cpp:45:13: warning: unused variable ‘rmkj’ [-Wunused-variable] 45 | int rmkj = V[M[k].i | ^~~~ kruskal.cpp:41:9: warning: unused variable ‘cmin’ [-Wunused-variable] 41 | int cmin = 0; | ^~~~ In file included from /usr/include/c++/13/bits/stl_algobase.h:71, from /usr/include/c++/13/string:51, from /usr/include/c++/13/bits/locale_classes.h:40, from /usr/include/c++/13/bits/ios_base.h:41, from /usr/include/c++/13/ios:44, from /usr/include/c++/13/ostream:40, from /usr/include/c++/13/iostream:41, from kruskal.cpp:1: /usr/include/c++/13/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Iter_less_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = Muchie*; _Iterator2 = Muchie*]’: /usr/include/c++/13/bits/stl_algo.h:1819:14: required from ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:1859:25: required from ‘void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:1950:31: required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:4861:18: required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = Muchie*]’ kruskal.cpp:39:9: required from here /usr/include/c++/13/bits/predefined_ops.h:45:23: error: no match for ‘operator<’ (operand types are ‘Muchie’ and ‘Muchie’) 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ In file included from /usr/include/c++/13/string:48: /usr/include/c++/13/bits/stl_iterator.h:1250:5: note: candidate: ‘template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_IteratorL, _Container>&, const __normal_iterator<_IteratorR, _Container>&)’ 1250 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1250:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/predefined_ops.h:45:23: note: ‘Muchie’ is not derived from ‘const __gnu_cxx::__normal_iterator<_IteratorL, _Container>’ 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1258:5: note: candidate: ‘template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_Iterator, _Container>&, const __normal_iterator<_Iterator, _Container>&)’ 1258 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1258:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/predefined_ops.h:45:23: note: ‘Muchie’ is not derived from ‘const __gnu_cxx::__normal_iterator<_Iterator, _Container>’ 45 | { return *__it1 < *__it2; } | ~~~~~~~^~~~~~~~ /usr/include/c++/13/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Val_less_iter::operator()(_Value&, _Iterator) const [with _Value = Muchie; _Iterator = Muchie*]’: /usr/include/c++/13/bits/stl_algo.h:1799:20: required from ‘void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Val_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:1827:36: required from ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:1859:25: required from ‘void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:1950:31: required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:4861:18: required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = Muchie*]’ kruskal.cpp:39:9: required from here /usr/include/c++/13/bits/predefined_ops.h:98:22: error: no match for ‘operator<’ (operand types are ‘Muchie’ and ‘Muchie’) 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1250:5: note: candidate: ‘template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_IteratorL, _Container>&, const __normal_iterator<_IteratorR, _Container>&)’ 1250 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1250:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/predefined_ops.h:98:22: note: ‘Muchie’ is not derived from ‘const __gnu_cxx::__normal_iterator<_IteratorL, _Container>’ 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1258:5: note: candidate: ‘template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_Iterator, _Container>&, const __normal_iterator<_Iterator, _Container>&)’ 1258 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1258:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/predefined_ops.h:98:22: note: ‘Muchie’ is not derived from ‘const __gnu_cxx::__normal_iterator<_Iterator, _Container>’ 98 | { return __val < *__it; } | ~~~~~~^~~~~~~ /usr/include/c++/13/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Iter_less_val::operator()(_Iterator, _Value&) const [with _Iterator = Muchie*; _Value = Muchie]’: /usr/include/c++/13/bits/stl_heap.h:140:48: required from ‘void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = Muchie*; _Distance = long int; _Tp = Muchie; _Compare = __gnu_cxx::__ops::_Iter_less_val]’ /usr/include/c++/13/bits/stl_heap.h:247:23: required from ‘void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = Muchie*; _Distance = long int; _Tp = Muchie; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_heap.h:356:22: required from ‘void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:1635:23: required from ‘void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:1910:25: required from ‘void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:1926:27: required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = Muchie*; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:1947:25: required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = Muchie*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ /usr/include/c++/13/bits/stl_algo.h:4861:18: required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = Muchie*]’ kruskal.cpp:39:9: required from here /usr/include/c++/13/bits/predefined_ops.h:69:22: error: no match for ‘operator<’ (operand types are ‘Muchie’ and ‘Muchie’) 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1250:5: note: candidate: ‘template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_IteratorL, _Container>&, const __normal_iterator<_IteratorR, _Container>&)’ 1250 | operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1250:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/predefined_ops.h:69:22: note: ‘Muchie’ is not derived from ‘const __gnu_cxx::__normal_iterator<_IteratorL, _Container>’ 69 | { return *__it < __val; } | ~~~~~~^~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1258:5: note: candidate: ‘template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __normal_iterator<_Iterator, _Container>&, const __normal_iterator<_Iterator, _Container>&)’ 1258 | operator<(const __normal_iterator<_Iterator, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1258:5: note: template argument deduction/substitution failed: /usr/include/c++/13/bits/predefined_ops.h:69:22: note: ‘Muchie’ is not derived from ‘const __gnu_cxx::__normal_iterator<_Iterator, _Container>’ 69 | { return *__it < __val; } | ~~~~~~^~~~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Kruskal 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ă.