#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 | #63263680 | Utilizator | |
| Fișier | kruskal.cpp | Dimensiune | 1.96 KB |
| Data încărcării | 24 Februarie 2026, 09:20 | Scor/rezultat | Eroare de compilare |
kruskal.cpp:11:1: error: expected ',' or ';' before 'struct' struct Muchie { ^ kruskal.cpp:20:20: error: 'Muchie' was not declared in this scope bool comparaMuchii(Muchie a, Muchie b) { ^ kruskal.cpp:20:30: error: 'Muchie' was not declared in this scope bool comparaMuchii(Muchie a, Muchie b) { ^ kruskal.cpp:20:38: error: expression list treated as compound expression in initializer [-fpermissive] bool comparaMuchii(Muchie a, Muchie b) { ^ kruskal.cpp:20:40: error: expected ',' or ';' before '{' token bool comparaMuchii(Muchie a, Muchie b) { ^ kruskal.cpp: In function 'int main()': kruskal.cpp:53:12: error: 'Muchie' was not declared in this scope vector<Muchie> muchii(m); ^ kruskal.cpp:53:18: error: template argument 1 is invalid vector<Muchie> muchii(m); ^ kruskal.cpp:53:18: error: template argument 2 is invalid kruskal.cpp:53:26: error: invalid type in declaration before '(' token vector<Muchie> muchii(m); ^ kruskal.cpp:55:24: error: invalid types 'int[int]' for array subscript fin >> muchii[i].u >> muchii[i].v >> muchii[i].cost; ^ kruskal.cpp:55:39: error: invalid types 'int[int]' for array subscript fin >> muchii[i].u >> muchii[i].v >> muchii[i].cost; ^ kruskal.cpp:55:54: error: invalid types 'int[int]' for array subscript fin >> muchii[i].u >> muchii[i].v >> muchii[i].cost; ^ kruskal.cpp:59:17: error: request for member 'begin' in 'muchii', which is of non-class type 'int' sort(muchii.begin(), muchii.end(), comparaMuchii); ^ kruskal.cpp:59:33: error: request for member 'end' in 'muchii', which is of non-class type 'int' sort(muchii.begin(), muchii.end(), comparaMuchii); ^ kruskal.cpp:69:12: error: the value of 'Muchie' is not usable in a constant expression vector<Muchie> apm; ^ kruskal.cpp:53:12: note: 'Muchie' was not declared 'constexpr' vector<Muchie> muchii(m); ^ kruskal.cpp:69:18: error: type/value mismatch at argument 1 in template parameter list for 'template<class _Tp, class _Alloc> class std::vector' vector<Muchie> apm; ^ kruskal.cpp:69:18: error: expected a type, got 'Muchie' kruskal.cpp:69:18: error: template argument 2 is invalid kruskal.cpp:69:23: error: invalid type in declaration before ';' token vector<Muchie> apm; ^ kruskal.cpp:73:28: error: invalid types 'int[int]' for array subscript if (uneste(muchii[i].u, muchii[i].v)) { ^ kruskal.cpp:73:41: error: invalid types 'int[int]' for array subscript if (uneste(muchii[i].u, muchii[i].v)) { ^ kruskal.cpp:74:34: error: invalid types 'int[int]' for array subscript costTotal += muchii[i].cost; ^ kruskal.cpp:75:17: error: request for member 'push_back' in 'apm', which is of non-class type 'int' apm.push_back(muchii[i]); ^ kruskal.cpp:75:35: error: invalid types 'int[int]' for array subscript apm.push_back(muchii[i]); ^ kruskal.cpp:82:26: error: no matching function for call to 'begin(int&)' for (const auto& e : apm) { ^ kruskal.cpp:82:26: note: candidates are: In file included from /usr/include/c++/4.8/bits/basic_string.h:42:0, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from kruskal.cpp:1: /usr/include/c++/4.8/initializer_list:89:5: note: template<class _Tp> constexpr const _Tp* std::begin(std::initializer_list<_Tp>) begin(initializer_list<_Tp> __ils) noexcept ^ /usr/include/c++/4.8/initializer_list:89:5: note: template argument deduction/substitution failed: kruskal.cpp:82:26: note: mismatched types 'std::initializer_list<_Tp>' and 'int' for (const auto& e : apm) { ^ In file included from /usr/include/c++/4.8/string:51:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from kruskal.cpp:1: /usr/include/c++/4.8/bits/range_access.h:87:5: note: template<class _Tp, unsigned int _Nm> _Tp* std::begin(_Tp (&)[_Nm]) begin(_Tp (&__arr)[_Nm]) ^ /usr/include/c++/4.8/bits/range_access.h:87:5: note: template argument deduction/substitution failed: kruskal.cpp:82:26: note: mismatched types '_Tp [_Nm]' and 'int' for (const auto& e : apm) { ^ In file included from /usr/include/c++/4.8/string:51:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from kruskal.cpp:1: /usr/include/c++/4.8/bits/range_access.h:58:5: note: template<class _Container> decltype (__cont.begin()) std::begin(const _Container&) begin(const _Container& __cont) -> decltype(__cont.begin()) ^ /usr/include/c++/4.8/bits/range_access.h:58:5: note: template argument deduction/substitution failed: /usr/include/c++/4.8/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.begin()) std::begin(const _Container&) [with _Container = int]': kruskal.cpp:82:26: required from here /usr/include/c++/4.8/bits/range_access.h:58:5: error: request for member 'begin' in '__cont', which is of non-class type 'const int' /usr/include/c++/4.8/bits/range_access.h:48:5: note: template<class _Container> decltype (__cont.begin()) std::begin(_Container&) begin(_Container& __cont) -> decltype(__cont.begin()) ^ /usr/include/c++/4.8/bits/range_access.h:48:5: note: template argument deduction/substitution failed: /usr/include/c++/4.8/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.begin()) std::begin(_Container&) [with _Container = int]': kruskal.cpp:82:26: required from here /usr/include/c++/4.8/bits/range_access.h:48:5: error: request for member 'begin' in '__cont', which is of non-class type 'int' kruskal.cpp:82:26: error: no matching function for call to 'end(int&)' for (const auto& e : apm) { ^ kruskal.cpp:82:26: note: candidates are: In file included from /usr/include/c++/4.8/bits/basic_string.h:42:0, from /usr/include/c++/4.8/string:52, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from kruskal.cpp:1: /usr/include/c++/4.8/initializer_list:99:5: note: template<class _Tp> constexpr const _Tp* std::end(std::initializer_list<_Tp>) end(initializer_list<_Tp> __ils) noexcept ^ /usr/include/c++/4.8/initializer_list:99:5: note: template argument deduction/substitution failed: kruskal.cpp:82:26: note: mismatched types 'std::initializer_list<_Tp>' and 'int' for (const auto& e : apm) { ^ In file included from /usr/include/c++/4.8/string:51:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from kruskal.cpp:1: /usr/include/c++/4.8/bits/range_access.h:97:5: note: template<class _Tp, unsigned int _Nm> _Tp* std::end(_Tp (&)[_Nm]) end(_Tp (&__arr)[_Nm]) ^ /usr/include/c++/4.8/bits/range_access.h:97:5: note: template argument deduction/substitution failed: kruskal.cpp:82:26: note: mismatched types '_Tp [_Nm]' and 'int' for (const auto& e : apm) { ^ In file included from /usr/include/c++/4.8/string:51:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from kruskal.cpp:1: /usr/include/c++/4.8/bits/range_access.h:78:5: note: template<class _Container> decltype (__cont.end()) std::end(const _Container&) end(const _Container& __cont) -> decltype(__cont.end()) ^ /usr/include/c++/4.8/bits/range_access.h:78:5: note: template argument deduction/substitution failed: /usr/include/c++/4.8/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.end()) std::end(const _Container&) [with _Container = int]': kruskal.cpp:82:26: required from here /usr/include/c++/4.8/bits/range_access.h:78:5: error: request for member 'end' in '__cont', which is of non-class type 'const int' /usr/include/c++/4.8/bits/range_access.h:68:5: note: template<class _Container> decltype (__cont.end()) std::end(_Container&) end(_Container& __cont) -> decltype(__cont.end()) ^ /usr/include/c++/4.8/bits/range_access.h:68:5: note: template argument deduction/substitution failed: /usr/include/c++/4.8/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.end()) std::end(_Container&) [with _Container = int]': kruskal.cpp:82:26: required from here /usr/include/c++/4.8/bits/range_access.h:68:5: error: request for member 'end' in '__cont', which is of non-class type 'int'
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ă.