# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
156401 | InfiniteJest | Combo (IOI18_combo) | C++14 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
#include <math.h>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
typedef long long ll;
int press(string p);
int n;
string s;
vector<string> p;
string guess_sequence(int N){
n=N;
if(press("AB")>=1){
if(press("A")>=1)s[0]='A';
else s[0]='B';
}
else{
if(press("X")>=1)s[0]='X';
else s[0]='Y';
}
if(s[0]!="A")p.pb("A");
if(s[0]!="B")p.pb("B");
if(s[0]!="X")p.pb("X");
if(s[0]!="Y")p.pb("Y");
for(int i=1;i<=n-2;i++){
int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1);
if(k==i+1){
s+=p[0];
}
else if(k>i+1){
d+=p[1];
}
else{
s+=p[2];
}
}
if(press(s+p[0]+s+p[1])==n){
if(press(s+p[0])==n)s+=p[0];
else s+=p[1];
}
else{
s+=p[2];
}
return s;
}
Compilation message (stderr)
combo.cpp: In function 'std::string guess_sequence(int)': combo.cpp:33:10: warning: comparison with string literal results in unspecified behavior [-Waddress] 33 | if(s[0]!="A")p.pb("A"); combo.cpp:33:10: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] combo.cpp:34:10: warning: comparison with string literal results in unspecified behavior [-Waddress] 34 | if(s[0]!="B")p.pb("B"); combo.cpp:34:10: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] combo.cpp:35:10: warning: comparison with string literal results in unspecified behavior [-Waddress] 35 | if(s[0]!="X")p.pb("X"); combo.cpp:35:10: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] combo.cpp:36:10: warning: comparison with string literal results in unspecified behavior [-Waddress] 36 | if(s[0]!="Y")p.pb("Y"); combo.cpp:36:10: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] combo.cpp:38:59: error: no match for 'operator==' (operand types are 'std::__cxx11::basic_string<char>' and 'int') 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^~~ | | | int In file included from /usr/include/c++/10/iosfwd:40, from /usr/include/c++/10/ios:38, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/postypes.h:222:5: note: candidate: 'template<class _StateT> bool std::operator==(const std::fpos<_StateT>&, const std::fpos<_StateT>&)' 222 | operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) | ^~~~~~~~ /usr/include/c++/10/bits/postypes.h:222:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::fpos<_StateT>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ 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/ios:40, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/stl_pair.h:466:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator==(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)' 466 | operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) | ^~~~~~~~ /usr/include/c++/10/bits/stl_pair.h:466:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::pair<_T1, _T2>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ 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/ios:40, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:360:5: note: candidate: 'template<class _Iterator> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)' 360 | operator==(const reverse_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:360:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::reverse_iterator<_Iterator>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ 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/ios:40, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:398:5: note: candidate: 'template<class _IteratorL, class _IteratorR> bool std::operator==(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)' 398 | operator==(const reverse_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:398:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::reverse_iterator<_Iterator>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ 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/ios:40, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:1427:5: note: candidate: 'template<class _IteratorL, class _IteratorR> bool std::operator==(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)' 1427 | operator==(const move_iterator<_IteratorL>& __x, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:1427:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::move_iterator<_IteratorL>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ 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/ios:40, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:1495:5: note: candidate: 'template<class _Iterator> bool std::operator==(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)' 1495 | operator==(const move_iterator<_Iterator>& __x, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:1495:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::move_iterator<_IteratorL>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/string:41, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/allocator.h:206:5: note: candidate: 'template<class _T1, class _T2> bool std::operator==(const std::allocator<_CharT>&, const std::allocator<_T2>&)' 206 | operator==(const allocator<_T1>&, const allocator<_T2>&) | ^~~~~~~~ /usr/include/c++/10/bits/allocator.h:206:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::allocator<_CharT>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/basic_string.h:6153:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)' 6153 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6153:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' and 'int' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/basic_string.h:6161:5: note: candidate: 'template<class _CharT> typename __gnu_cxx::__enable_if<std::__is_char<_Tp>::__value, bool>::__type std::operator==(const std::__cxx11::basic_string<_CharT>&, const std::__cxx11::basic_string<_CharT>&)' 6161 | operator==(const basic_string<_CharT>& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6161:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: mismatched types 'const std::__cxx11::basic_string<_CharT>' and 'int' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/basic_string.h:6175:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)' 6175 | operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6175:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: mismatched types 'const _CharT*' and 'int' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/basic_string.h:6216:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> bool std::operator==(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)' 6216 | operator==(const _CharT* __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6216:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: mismatched types 'const _CharT*' and 'std::__cxx11::basic_string<char>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/bits/ios_base.h:46, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/system_error:342:3: note: candidate: 'bool std::operator==(const std::error_code&, const std::error_code&)' 342 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/10/system_error:342:32: note: no known conversion for argument 1 from 'std::__cxx11::basic_string<char>' to 'const std::error_code&' 342 | operator==(const error_code& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/system_error:349:3: note: candidate: 'bool std::operator==(const std::error_code&, const std::error_condition&)' 349 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/10/system_error:349:32: note: no known conversion for argument 1 from 'std::__cxx11::basic_string<char>' to 'const std::error_code&' 349 | operator==(const error_code& __lhs, const error_condition& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/system_error:357:3: note: candidate: 'bool std::operator==(const std::error_condition&, const std::error_condition&)' 357 | operator==(const error_condition& __lhs, | ^~~~~~~~ /usr/include/c++/10/system_error:357:37: note: no known conversion for argument 1 from 'std::__cxx11::basic_string<char>' to 'const std::error_condition&' 357 | operator==(const error_condition& __lhs, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/include/c++/10/system_error:390:3: note: candidate: 'bool std::operator==(const std::error_condition&, const std::error_code&)' 390 | operator==(const error_condition& __lhs, const error_code& __rhs) noexcept | ^~~~~~~~ /usr/include/c++/10/system_error:390:37: note: no known conversion for argument 1 from 'std::__cxx11::basic_string<char>' to 'const std::error_condition&' 390 | operator==(const error_condition& __lhs, const error_code& __rhs) noexcept | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~ In file included from /usr/include/c++/10/bits/locale_facets.h:48, from /usr/include/c++/10/bits/basic_ios.h:37, from /usr/include/c++/10/ios:44, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/streambuf_iterator.h:227:5: note: candidate: 'template<class _CharT, class _Traits> bool std::operator==(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)' 227 | operator==(const istreambuf_iterator<_CharT, _Traits>& __a, | ^~~~~~~~ /usr/include/c++/10/bits/streambuf_iterator.h:227:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::istreambuf_iterator<_CharT, _Traits>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/vector:67, from combo.cpp:3: /usr/include/c++/10/bits/stl_vector.h:1892:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator==(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)' 1892 | operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) | ^~~~~~~~ /usr/include/c++/10/bits/stl_vector.h:1892:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::vector<_Tp, _Alloc>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/deque:67, from /usr/include/c++/10/queue:60, from combo.cpp:4: /usr/include/c++/10/bits/stl_deque.h:2241:5: note: candidate: 'template<class _Tp, class _Alloc> bool std::operator==(const std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&)' 2241 | operator==(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y) | ^~~~~~~~ /usr/include/c++/10/bits/stl_deque.h:2241:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::deque<_Tp, _Alloc>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/queue:64, from combo.cpp:4: /usr/include/c++/10/bits/stl_queue.h:344:5: note: candidate: 'template<class _Tp, class _Seq> bool std::operator==(const std::queue<_Tp, _Seq>&, const std::queue<_Tp, _Seq>&)' 344 | operator==(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y) | ^~~~~~~~ /usr/include/c++/10/bits/stl_queue.h:344:5: note: template argument deduction/substitution failed: combo.cpp:38:61: note: 'std::__cxx11::basic_string<char>' is not derived from 'const std::queue<_Tp, _Seq>' 38 | int k=press(s+p[0]+s+p[1]+p[0]+s+p[1]+p[2]+s+p[1]+p[1]==1); | ^ In file included from /usr/include/c++/10/string:41, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/ostream:38, from /usr/include/c++/10/iostream:39, from combo.cpp:1: /usr/include/c++/10/bits/allocator.h:192:7: note: candidate: 'bool std::operator==(const std::allocator<char>&, const std::allocator<char>&)' 192 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW | ^~~~~~~~ /usr/include/c++/10/bits/allocator.h:192:18: note: no known conversion for argument 1 from 'std::__cxx11::basic_string<char>' to 'const std::allocator<char>&' 192 | operator==(const allocator&, const allocator&) _GLIBCXX_NOTHROW | ^~~~~~~~~~~~~~~~