#1976
srh
Definim recursiv nivelul unui nod într-un arbore cu rădăcină astfel:
• nivelul rădăcinii este 0
• nivelul fiilor unui nod cu adâncimea H
este H+1
Fie S(R,H)
numărul de noduri din subarborele cu rădăcina în R
și care au adâncimea H
. Subarborele nodului R
îl include și pe el însuși. Doi arbori cu rădăcinile R
și R’
sunt similari numai dacă S(R,H)
este egal cu S(R’,H)
, pentru oricare număr natural H
.
Se consideră un arbore cu N
noduri și rădăcina în nodul 1
. Nodurile sunt numerotate de la 1
la N
.
Fie TX
= subarborele cu rădăcina în nodul X
. Se cere să se calculeze numărul de perechi (X,Y)
astfel încât subarborii TX
și TY
sunt similari și X<Y
.
Info Oltenia 2017, Clase XI-XII echipaje
Problema | srh | Operații I/O |
srh.in /srh.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 16 MB
/
Stivă 4 MB
|
Id soluție | #45883432 | Utilizator | |
Fișier | srh.cpp | Dimensiune | 872 B |
Data încărcării | 24 Octombrie 2023, 15:52 | Scor / rezultat | Eroare de compilare |
srh.cpp: In function 'int main()': srh.cpp:40:10: error: no match for 'operator=' (operand types are 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' and 'std::map<long long unsigned int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const long long unsigned int, int> >}') for(I=M.begin();I!=M.end();I++) ^ srh.cpp:40:10: note: candidates are: In file included from /usr/include/c++/4.8/map:60:0, from srh.cpp:4: /usr/include/c++/4.8/bits/stl_tree.h:157:12: note: std::_Rb_tree_iterator<std::pair<const int, int> >& std::_Rb_tree_iterator<std::pair<const int, int> >::operator=(const std::_Rb_tree_iterator<std::pair<const int, int> >&) struct _Rb_tree_iterator ^ /usr/include/c++/4.8/bits/stl_tree.h:157:12: note: no known conversion for argument 1 from 'std::map<long long unsigned int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const long long unsigned int, int> >}' to 'const std::_Rb_tree_iterator<std::pair<const int, int> >&' /usr/include/c++/4.8/bits/stl_tree.h:157:12: note: std::_Rb_tree_iterator<std::pair<const int, int> >& std::_Rb_tree_iterator<std::pair<const int, int> >::operator=(std::_Rb_tree_iterator<std::pair<const int, int> >&&) /usr/include/c++/4.8/bits/stl_tree.h:157:12: note: no known conversion for argument 1 from 'std::map<long long unsigned int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const long long unsigned int, int> >}' to 'std::_Rb_tree_iterator<std::pair<const int, int> >&&' srh.cpp:40:22: error: no match for 'operator!=' (operand types are 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' and 'std::map<long long unsigned int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const long long unsigned int, int> >}') for(I=M.begin();I!=M.end();I++) ^ srh.cpp:40:22: note: candidates are: In file included from /usr/include/c++/4.8/map:60:0, from srh.cpp:4: /usr/include/c++/4.8/bits/stl_tree.h:221:7: note: bool std::_Rb_tree_iterator<_Tp>::operator!=(const _Self&) const [with _Tp = std::pair<const int, int>; std::_Rb_tree_iterator<_Tp>::_Self = std::_Rb_tree_iterator<std::pair<const int, int> >] operator!=(const _Self& __x) const ^ /usr/include/c++/4.8/bits/stl_tree.h:221:7: note: no known conversion for argument 1 from 'std::map<long long unsigned int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const long long unsigned int, int> >}' to 'const _Self& {aka const std::_Rb_tree_iterator<std::pair<const int, int> >&}' In file included from /usr/include/c++/4.8/iosfwd:40:0, from /usr/include/c++/4.8/ios:38, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/postypes.h:221:5: note: template<class _StateT> bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&) operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) ^ /usr/include/c++/4.8/bits/postypes.h:221:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::fpos<_StateT>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/stl_pair.h:227:5: note: template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&) operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) ^ /usr/include/c++/4.8/bits/stl_pair.h:227:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::pair<_T1, _T2>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/stl_iterator.h:303:5: note: template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&) operator!=(const reverse_iterator<_Iterator>& __x, ^ /usr/include/c++/4.8/bits/stl_iterator.h:303:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::reverse_iterator<_Iterator>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/stl_iterator.h:353:5: note: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&) operator!=(const reverse_iterator<_IteratorL>& __x, ^ /usr/include/c++/4.8/bits/stl_iterator.h:353:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::reverse_iterator<_Iterator>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/stl_iterator.h:1043:5: note: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::move_iterator<_Iterator>&, const std::move_iterator<_IteratorR>&) operator!=(const move_iterator<_IteratorL>& __x, ^ /usr/include/c++/4.8/bits/stl_iterator.h:1043:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::move_iterator<_Iterator>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:67:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/stl_iterator.h:1049:5: note: template<class _Iterator> bool std::operator!=(const std::move_iterator<_Iterator>&, const std::move_iterator<_Iterator>&) operator!=(const move_iterator<_Iterator>& __x, ^ /usr/include/c++/4.8/bits/stl_iterator.h:1049:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::move_iterator<_Iterator>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/string:41: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/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/allocator.h:138:5: note: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&) operator!=(const allocator<_T1>&, const allocator<_T2>&) ^ /usr/include/c++/4.8/bits/allocator.h:138:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::allocator<_CharT>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/string:41: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/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/allocator.h:143:5: note: template<class _Tp> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_CharT>&) operator!=(const allocator<_Tp>&, const allocator<_Tp>&) ^ /usr/include/c++/4.8/bits/allocator.h:143:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::allocator<_CharT>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/string:52: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/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2532:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const std::basic_string<_CharT, _Traits, _Alloc>&) operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2532:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/string:52: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/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2544:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::basic_string<_CharT, _Traits, _Alloc>&) operator!=(const _CharT* __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2544:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: mismatched types 'const _CharT*' and 'std::_Rb_tree_iterator<std::pair<const int, int> >' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/string:52: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/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2556:5: note: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*) operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^ /usr/include/c++/4.8/bits/basic_string.h:2556:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::basic_string<_CharT, _Traits, _Alloc>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/bits/locale_facets.h:48:0, from /usr/include/c++/4.8/bits/basic_ios.h:37, from /usr/include/c++/4.8/ios:44, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from srh.cpp:1: /usr/include/c++/4.8/bits/streambuf_iterator.h:210:5: note: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&) operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, ^ /usr/include/c++/4.8/bits/streambuf_iterator.h:210:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::istreambuf_iterator<_CharT, _Traits>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/vector:64:0, from srh.cpp:3: /usr/include/c++/4.8/bits/stl_vector.h:1428:5: note: template<class _Tp, class _Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&) operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) ^ /usr/include/c++/4.8/bits/stl_vector.h:1428:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::vector<_Tp, _Alloc>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/map:60:0, from srh.cpp:4: /usr/include/c++/4.8/bits/stl_tree.h:316:5: note: template<class _Val> bool std::operator!=(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&) operator!=(const _Rb_tree_iterator<_Val>& __x, ^ /usr/include/c++/4.8/bits/stl_tree.h:316:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<long long unsigned int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const long long unsigned int, int> >}' is not derived from 'const std::_Rb_tree_const_iterator<_Val>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/map:60:0, from srh.cpp:4: /usr/include/c++/4.8/bits/stl_tree.h:927:5: note: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator!=(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&) operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, ^ /usr/include/c++/4.8/bits/stl_tree.h:927:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/tuple:39:0, from /usr/include/c++/4.8/bits/stl_map.h:63, from /usr/include/c++/4.8/map:61, from srh.cpp:4: /usr/include/c++/4.8/array:233:5: note: template<class _Tp, unsigned int _Nm> bool std::operator!=(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&) operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) ^ /usr/include/c++/4.8/array:233:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::array<_Tp, _Nm>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/bits/stl_map.h:63:0, from /usr/include/c++/4.8/map:61, from srh.cpp:4: /usr/include/c++/4.8/tuple:835:5: note: template<class ... _TElements, class ... _UElements> constexpr bool std::operator!=(const std::tuple<_Args1 ...>&, const std::tuple<_Args2 ...>&) operator!=(const tuple<_TElements...>& __t, ^ /usr/include/c++/4.8/tuple:835:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::tuple<_Args1 ...>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/map:61:0, from srh.cpp:4: /usr/include/c++/4.8/bits/stl_map.h:986:5: note: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&) operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, ^ /usr/include/c++/4.8/bits/stl_map.h:986:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::map<_Key, _Tp, _Compare, _Alloc>' for(I=M.begin();I!=M.end();I++) ^ In file included from /usr/include/c++/4.8/map:62:0, from srh.cpp:4: /usr/include/c++/4.8/bits/stl_multimap.h:888:5: note: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&) operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, ^ /usr/include/c++/4.8/bits/stl_multimap.h:888:5: note: template argument deduction/substitution failed: srh.cpp:40:30: note: 'std::map<int, int>::iterator {aka std::_Rb_tree_iterator<std::pair<const int, int> >}' is not derived from 'const std::multimap<_Key, _Tp, _Compare, _Alloc>' for(I=M.begin();I!=M.end();I++) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema srh 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ă.