#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 | #64228054 | Utilizator | |
| Fișier | kruskal.cpp | Dimensiune | 1.54 KB |
| Data încărcării | 24 Aprilie 2026, 08:12 | Scor/rezultat | Eroare de compilare |
kruskal.cpp: In function ‘int main()’: kruskal.cpp:82:7: error: no match for ‘operator<<’ (operand types are ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} and ‘int’) 82 | g << cost << '\n'; | ~ ^~ ~~~~ | | | | | int | std::ifstream {aka std::basic_ifstream<char>} kruskal.cpp:82:7: note: candidate: ‘operator<<(int, int)’ (built-in) 82 | g << cost << '\n'; | ~~^~~~~~~ kruskal.cpp:82:7: note: no known conversion for argument 1 from ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} to ‘int’ In file included from /usr/include/c++/13/string:54, 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/basic_string.h:4032:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 4032 | operator<<(basic_ostream<_CharT, _Traits>& __os, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:4032:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 82 | g << cost << '\n'; | ^~~~ In file included from /usr/include/c++/13/bits/ios_base.h:46: /usr/include/c++/13/system_error:339:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const error_code&)’ 339 | operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) | ^~~~~~~~ /usr/include/c++/13/system_error:339:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:554:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, _CharT)’ 554 | operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) | ^~~~~~~~ /usr/include/c++/13/ostream:554:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:564:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, char)’ 564 | operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:564:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:570:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, char)’ 570 | operator<<(basic_ostream<char, _Traits>& __out, char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:570:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:581:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, signed char)’ 581 | operator<<(basic_ostream<char, _Traits>& __out, signed char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:581:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:586:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, unsigned char)’ 586 | operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:586:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:645:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const _CharT*)’ 645 | operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:645:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 82 | g << cost << '\n'; | ^~~~ In file included from /usr/include/c++/13/ostream:880: /usr/include/c++/13/bits/ostream.tcc:307:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const char*)’ 307 | operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) | ^~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:307:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:662:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const char*)’ 662 | operator<<(basic_ostream<char, _Traits>& __out, const char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:662:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:675:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const signed char*)’ 675 | operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:675:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:680:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const unsigned char*)’ 680 | operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:680:5: note: template argument deduction/substitution failed: kruskal.cpp:82:10: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 82 | g << cost << '\n'; | ^~~~ /usr/include/c++/13/ostream:801:5: note: candidate: ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&)’ 801 | operator<<(_Ostream&& __os, const _Tp& __x) | ^~~~~~~~ /usr/include/c++/13/ostream:801:5: note: template argument deduction/substitution failed: /usr/include/c++/13/ostream: In substitution of ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ifstream<char>&; _Tp = int]’: kruskal.cpp:82:10: required from here /usr/include/c++/13/ostream:801:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’ kruskal.cpp:84:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<muchie>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 84 | for (int i = 0; i < muchi.size(); i++) | ~~^~~~~~~~~~~~~~ kruskal.cpp:85:11: error: no match for ‘operator<<’ (operand types are ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} and ‘int’) 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ~ ^~ | | | std::ifstream {aka std::basic_ifstream<char>} kruskal.cpp:85:11: note: candidate: ‘operator<<(int, int)’ (built-in) 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ~~^~~~~~~~~~~~~ kruskal.cpp:85:11: note: no known conversion for argument 1 from ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} to ‘int’ /usr/include/c++/13/bits/basic_string.h:4032:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 4032 | operator<<(basic_ostream<_CharT, _Traits>& __os, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:4032:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/system_error:339:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const error_code&)’ 339 | operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e) | ^~~~~~~~ /usr/include/c++/13/system_error:339:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:554:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, _CharT)’ 554 | operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) | ^~~~~~~~ /usr/include/c++/13/ostream:554:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:564:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, char)’ 564 | operator<<(basic_ostream<_CharT, _Traits>& __out, char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:564:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:570:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, char)’ 570 | operator<<(basic_ostream<char, _Traits>& __out, char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:570:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:581:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, signed char)’ 581 | operator<<(basic_ostream<char, _Traits>& __out, signed char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:581:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:586:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, unsigned char)’ 586 | operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c) | ^~~~~~~~ /usr/include/c++/13/ostream:586:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:645:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const _CharT*)’ 645 | operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:645:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/bits/ostream.tcc:307:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const char*)’ 307 | operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s) | ^~~~~~~~ /usr/include/c++/13/bits/ostream.tcc:307:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<_CharT, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:662:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const char*)’ 662 | operator<<(basic_ostream<char, _Traits>& __out, const char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:662:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:675:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const signed char*)’ 675 | operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:675:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:680:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const unsigned char*)’ 680 | operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s) | ^~~~~~~~ /usr/include/c++/13/ostream:680:5: note: template argument deduction/substitution failed: kruskal.cpp:85:23: note: ‘std::ifstream’ {aka ‘std::basic_ifstream<char>’} is not derived from ‘std::basic_ostream<char, _Traits>’ 85 | g << muchi[i].x << ' ' << muchi[i].y << '\n'; | ^ /usr/include/c++/13/ostream:801:5: note: candidate: ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&)’ 801 | operator<<(_Ostream&& __os, const _Tp& __x) | ^~~~~~~~ /usr/include/c++/13/ostream:801:5: note: template argument deduction/substitution failed: /usr/include/c++/13/ostream: In substitution of ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ifstream<char>&; _Tp = int]’: kruskal.cpp:85:23: required from here /usr/include/c++/13/ostream:801:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
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ă.