#870
Se consideră un depou de cale ferată precum cel din imagine:

Pe linia A se află n vagoane, numerotate cu valori distincte de la 1 la n, într-o ordine oarecare. Vagoanele trebuie mutate pe linia C, în ordinea 1 2 .. n. Pentru aceasta se poate muta câte un vagon de pe o linie pe alta, în ordinea indicată de săgeți:
A -> B, A -> C sau B -> C.
Să se determine o succesiune de operații care să mute toate vagoanele de pe linia A pe linia C în ordinea dorită.
| Problema | Depou | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64631889 | Utilizator | |
| Fișier | depou.cpp | Dimensiune | 441 B |
| Data încărcării | 19 Mai 2026, 14:15 | Scor/rezultat | Eroare de compilare |
depou.cpp: In function ‘void push(stiva&, int)’: depou.cpp:17:12: error: base operand of ‘->’ has non-pointer type ‘stiva’ 17 | s.v[++s->vf] = val; | ^~ depou.cpp: In function ‘int top(stiva&)’: depou.cpp:25:14: error: ‘stiva’ {aka ‘struct stiva’} has no member named ‘val’ 25 | return s.val[s.vf]; | ^~~ depou.cpp: In function ‘bool empty(stiva&)’: depou.cpp:29:15: error: no match for ‘operator==’ (operand types are ‘stiva’ and ‘int’) 29 | return (s == 0); | ~ ^~ ~ | | | | | int | stiva In file included from /usr/include/c++/13/iosfwd:42, from /usr/include/c++/13/ios:40, from /usr/include/c++/13/ostream:40, from /usr/include/c++/13/iostream:41, from depou.cpp:1: /usr/include/c++/13/bits/postypes.h:192:5: note: candidate: ‘template<class _StateT> bool std::operator==(const fpos<_StateT>&, const fpos<_StateT>&)’ 192 | operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | ^~~~~~~~ /usr/include/c++/13/bits/postypes.h:192:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::fpos<_StateT>’ 29 | return (s == 0); | ^ In file included from /usr/include/c++/13/string:43, 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: /usr/include/c++/13/bits/allocator.h:237:5: note: candidate: ‘template<class _T1, class _T2> bool std::operator==(const allocator<_CharT>&, const allocator<_T2>&)’ 237 | operator==(const allocator<_T1>&, const allocator<_T2>&) | ^~~~~~~~ /usr/include/c++/13/bits/allocator.h:237:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::allocator<_CharT>’ 29 | return (s == 0); | ^ In file included from /usr/include/c++/13/string:48: /usr/include/c++/13/bits/stl_iterator.h:448:5: note: candidate: ‘template<class _Iterator> bool std::operator==(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)’ 448 | operator==(const reverse_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:448:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 29 | return (s == 0); | ^ /usr/include/c++/13/bits/stl_iterator.h:493:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator==(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)’ 493 | operator==(const reverse_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:493:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::reverse_iterator<_Iterator>’ 29 | return (s == 0); | ^ /usr/include/c++/13/bits/stl_iterator.h:1678:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)’ 1678 | operator==(const move_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1678:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::move_iterator<_IteratorL>’ 29 | return (s == 0); | ^ /usr/include/c++/13/bits/stl_iterator.h:1748:5: note: candidate: ‘template<class _Iterator> bool std::operator==(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)’ 1748 | operator==(const move_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/13/bits/stl_iterator.h:1748:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::move_iterator<_IteratorL>’ 29 | return (s == 0); | ^ In file included from /usr/include/c++/13/bits/stl_algobase.h:64, from /usr/include/c++/13/string:51: /usr/include/c++/13/bits/stl_pair.h:812:5: note: candidate: ‘template<class _T1, class _T2> constexpr bool std::operator==(const pair<_T1, _T2>&, const pair<_T1, _T2>&)’ 812 | operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | ^~~~~~~~ /usr/include/c++/13/bits/stl_pair.h:812:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::pair<_T1, _T2>’ 29 | return (s == 0); | ^ In file included from /usr/include/c++/13/string:54: /usr/include/c++/13/bits/basic_string.h:3710:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 3710 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:3710:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ 29 | return (s == 0); | ^ /usr/include/c++/13/bits/basic_string.h:3727:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)’ 3727 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:3727:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ 29 | return (s == 0); | ^ /usr/include/c++/13/bits/basic_string.h:3774:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’ 3774 | operator==(const _CharT* __lhs, | ^~~~~~~~ /usr/include/c++/13/bits/basic_string.h:3774:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: mismatched types ‘const _CharT*’ and ‘stiva’ 29 | return (s == 0); | ^ In file included from /usr/include/c++/13/bits/locale_facets.h:48, from /usr/include/c++/13/bits/basic_ios.h:37, from /usr/include/c++/13/ios:46: /usr/include/c++/13/bits/streambuf_iterator.h:234:5: note: candidate: ‘template<class _CharT, class _Traits> bool std::operator==(const istreambuf_iterator<_CharT, _Traits>&, const istreambuf_iterator<_CharT, _Traits>&)’ 234 | operator==(const istreambuf_iterator<_CharT, _Traits>& __a, | ^~~~~~~~ /usr/include/c++/13/bits/streambuf_iterator.h:234:5: note: template argument deduction/substitution failed: depou.cpp:29:18: note: ‘stiva’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’ 29 | return (s == 0); | ^ In file included from /usr/include/c++/13/bits/ios_base.h:46: /usr/include/c++/13/system_error:449:3: note: candidate: ‘bool std::operator==(const error_code&, const error_code&)’ 449 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/system_error:449:32: note: no known conversion for argument 1 from ‘stiva’ to ‘const std::error_code&’ 449 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/system_error:465:3: note: candidate: ‘bool std::operator==(const error_code&, const error_condition&)’ 465 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/system_error:465:32: note: no known conversion for argument 1 from ‘stiva’ to ‘const std::error_code&’ 465 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/system_error:480:3: note: candidate: ‘bool std::operator==(const error_condition&, const error_condition&)’ 480 | operator==(const error_condition& __lhs, | ^~~~~~~~ /usr/include/c++/13/system_error:480:37: note: no known conversion for argument 1 from ‘stiva’ to ‘const std::error_condition&’ 480 | operator==(const error_condition& __lhs, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/13/system_error:517:3: note: candidate: ‘bool std::operator==(const error_condition&, const error_code&)’ 517 | operator==(const error_condition& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/13/system_error:517:37: note: no known conversion for argument 1 from ‘stiva’ to ‘const std::error_condition&’ 517 | operator==(const error_condition& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ depou.cpp: In function ‘int main()’: depou.cpp:34:9: warning: unused variable ‘a’ [-Wunused-variable] 34 | int a[n]; | ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Depou 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ă.