Submission #380898

#TimeUsernameProblemLanguageResultExecution timeMemory
380898ritul_kr_singhCombo (IOI18_combo)C++17
Compilation error
0 ms0 KiB
#include "combo.h" using namespace std; string guess_sequence(int n){ string s; if(press("AB")) s = press("A") ? "A" : "B"; else s = press("X") ? "X" : "Y"; string all, orig = "ABXY"; for(char c : orig) if(c!=s) all.push_back(c); for(int i=1; i+1<n; ++i){ string t; for(char c : all) t.push_back(s + all[2] + c); t.push_back(s + all[1]); s += all[press(t)-i]; } string t; if(press(s+all[0]+s+all[1])==n) s += (press(s+all[0])==n) ? all[0] : all[1]; else s += all[2]; return s; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:12:25: error: no match for 'operator!=' (operand types are 'char' and 'std::string' {aka 'std::__cxx11::basic_string<char>'})
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                        ~^~~
      |                        |  |
      |                        |  std::string {aka std::__cxx11::basic_string<char>}
      |                        char
In file included from /usr/include/c++/10/bits/stl_algobase.h:64,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/string:40,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/stl_pair.h:496:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)'
  496 |     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_pair.h:496:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const std::pair<_T1, _T2>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/string:40,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:372:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)'
  372 |     operator!=(const reverse_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:372:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const std::reverse_iterator<_Iterator>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/string:40,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:410:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)'
  410 |     operator!=(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:410:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const std::reverse_iterator<_Iterator>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/string:40,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:1444:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)'
 1444 |     operator!=(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:1444:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const std::move_iterator<_IteratorL>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/string:40,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:1501:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)'
 1501 |     operator!=(const move_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:1501:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const std::move_iterator<_IteratorL>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/bits/char_traits.h:40,
                 from /usr/include/c++/10/string:40,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/postypes.h:227:5: note: candidate: 'template<class _StateT> bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)'
  227 |     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
      |     ^~~~~~~~
/usr/include/c++/10/bits/postypes.h:227:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const std::fpos<_StateT>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/string:41,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/allocator.h:213:5: note: candidate: 'template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&)'
  213 |     operator!=(const allocator<_T1>&, const allocator<_T2>&)
      |     ^~~~~~~~
/usr/include/c++/10/bits/allocator.h:213:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const std::allocator<_CharT>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/bits/basic_string.h:48,
                 from /usr/include/c++/10/string:55,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/string_view:525:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator!=(std::basic_string_view<_CharT, _Traits>, std::basic_string_view<_CharT, _Traits>)'
  525 |     operator!=(basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/10/string_view:525:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'std::basic_string_view<_CharT, _Traits>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/bits/basic_string.h:48,
                 from /usr/include/c++/10/string:55,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/string_view:531:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator!=(std::basic_string_view<_CharT, _Traits>, std::__type_identity_t<std::basic_string_view<_CharT, _Traits> >)'
  531 |     operator!=(basic_string_view<_CharT, _Traits> __x,
      |     ^~~~~~~~
/usr/include/c++/10/string_view:531:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'std::basic_string_view<_CharT, _Traits>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/bits/basic_string.h:48,
                 from /usr/include/c++/10/string:55,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/string_view:538:5: note: candidate: 'template<class _CharT, class _Traits> constexpr bool std::operator!=(std::__type_identity_t<std::basic_string_view<_CharT, _Traits> >, std::basic_string_view<_CharT, _Traits>)'
  538 |     operator!=(__type_identity_t<basic_string_view<_CharT, _Traits>> __x,
      |     ^~~~~~~~
/usr/include/c++/10/string_view:538:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   'std::__cxx11::basic_string<char>' is not derived from 'std::basic_string_view<_CharT, _Traits>'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/string:55,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/basic_string.h:6229:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
 6229 |     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:6229:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/string:55,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/basic_string.h:6242:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
 6242 |     operator!=(const _CharT* __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:6242:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const _CharT*' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/string:55,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/basic_string.h:6254:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*)'
 6254 |     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/basic_string.h:6254:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/string:41,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/allocator.h:197:7: note: candidate: 'bool std::operator!=(const std::allocator<char>&, const std::allocator<char>&)'
  197 |       operator!=(const allocator&, const allocator&) _GLIBCXX_NOTHROW
      |       ^~~~~~~~
/usr/include/c++/10/bits/allocator.h:197:18: note:   no known conversion for argument 1 from 'char' to 'const std::allocator<char>&'
  197 |       operator!=(const allocator&, const allocator&) _GLIBCXX_NOTHROW
      |                  ^~~~~~~~~~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/string:40,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:1080:5: note: candidate: 'template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)'
 1080 |     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:1080:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/c++/10/bits/stl_algobase.h:67,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/string:40,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/stl_iterator.h:1088:5: note: candidate: 'template<class _Iterator, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)'
 1088 |     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10/bits/stl_iterator.h:1088:5: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   mismatched types 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' and 'char'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/c++allocator.h:33,
                 from /usr/include/c++/10/bits/allocator.h:46,
                 from /usr/include/c++/10/string:41,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/ext/new_allocator.h:178:2: note: candidate: 'template<class _Up> bool __gnu_cxx::operator!=(const __gnu_cxx::new_allocator<char>&, const __gnu_cxx::new_allocator<_Tp>&)'
  178 |  operator!=(const new_allocator&, const new_allocator<_Up>&)
      |  ^~~~~~~~
/usr/include/c++/10/ext/new_allocator.h:178:2: note:   template argument deduction/substitution failed:
combo.cpp:12:27: note:   'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const __gnu_cxx::new_allocator<_Tp>'
   12 |  for(char c : orig) if(c!=s) all.push_back(c);
      |                           ^
combo.cpp:16:44: error: cannot convert 'std::__cxx11::basic_string<char>' to 'char'
   16 |   for(char c : all) t.push_back(s + all[2] + c);
      |                                 ~~~~~~~~~~~^~~
      |                                            |
      |                                            std::__cxx11::basic_string<char>
In file included from /usr/include/c++/10/string:55,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/basic_string.h:1320:24: note:   initializing argument 1 of 'void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::push_back(_CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
 1320 |       push_back(_CharT __c)
      |                 ~~~~~~~^~~
combo.cpp:17:17: error: cannot convert 'std::__cxx11::basic_string<char>' to 'char'
   17 |   t.push_back(s + all[1]);
In file included from /usr/include/c++/10/string:55,
                 from combo.h:3,
                 from combo.cpp:1:
/usr/include/c++/10/bits/basic_string.h:1320:24: note:   initializing argument 1 of 'void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::push_back(_CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
 1320 |       push_back(_CharT __c)
      |                 ~~~~~~~^~~