# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
316797 | seedkin | 콤보 (IOI18_combo) | C++11 | 컴파일 에러 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "combo.h"
std::string guess_sequence(int N) {
char map[200][3];
map['A'][0] = 'B';
map['A'][1] = 'X';
map['A'][2] = 'Y';
map['X'][0] = 'A';
map['X'][1] = 'B';
map['X'][2] = 'Y';
map['B'][0] = 'A';
map['B'][1] = 'X';
map['B'][2] = 'Y';
map['Y'][0] = 'A';
map['Y'][1] = 'X';
map['Y'][2] = 'B';
std::string p = "";
int coins;
std::string S = "";
char first;
if(N == 1) {
p = 'A';
coins = press(p);
if(coins) return p;
p = 'B';
coins = press(p);
if(coins) return p;
p = 'X';
coins = press(p);
if(coins) return p;
P = 'Y';
return p;
} else if (N == 2) {
p = "AAAB";
coins = press(p);
if(coins == 4) {
S = "AB"
return S;
} else if (coins == 3) {
S += 'A';
first = 'A';
} else if (coins == 1) {
S += 'B';
first = 'B';
}
p = "XXXY";
coins = press(p);
if(coins == 4) {
S = "XY"
return S;
} else if (coins == 3) {
S += 'X';
first = 'X';
} else if (coins == 1) {
S += 'Y';
first = 'Y';
}
p = S + map[first][0];
p += S + map[first][1];
p += S + map[first][1];
coins = press(p);
if(p == 3) {
S += map[first][2];
} else if (p == 4) {
S += map[first][0];
} else {
S += map[first][1];
}
return S;
} else {
p = "AAAB";
coins = press(p);
if (coins >= 3) {
S += 'A';
first = 'A';
} else if (coins == 1) {
S += 'B';
first = 'B';
}
p = "XXXY";
coins = press(p);
if (coins >= 3) {
S += 'X';
first = 'X';
} else if (coins == 1) {
S += 'Y';
first = 'Y';
}
int len = 1;
for(; len < N; len++) {
p = S + map[first][0];
p += S + map[first][1];
p += S + map[first][1];
coins = press(p);
if(p == len * 3) {
S += map[first][2];
} else if (p == len * 3 + 1) {
S += map[first][0];
} else {
S += map[first][1];
}
}
}
return S;
}
컴파일 시 표준 에러 (stderr) 메시지
combo.cpp: In function 'std::string guess_sequence(int)': combo.cpp:35:5: error: 'P' was not declared in this scope 35 | P = 'Y'; | ^ combo.cpp:41:15: error: expected ';' before 'return' 41 | S = "AB" | ^ | ; 42 | return S; | ~~~~~~ combo.cpp:54:15: error: expected ';' before 'return' 54 | S = "XY" | ^ | ; 55 | return S; | ~~~~~~ combo.cpp:64:17: warning: array subscript has type 'char' [-Wchar-subscripts] 64 | p = S + map[first][0]; | ^~~~~ combo.cpp:65:18: warning: array subscript has type 'char' [-Wchar-subscripts] 65 | p += S + map[first][1]; | ^~~~~ combo.cpp:66:18: warning: array subscript has type 'char' [-Wchar-subscripts] 66 | p += S + map[first][1]; | ^~~~~ combo.cpp:70:10: error: no match for 'operator==' (operand types are 'std::string' {aka 'std::__cxx11::basic_string<char>'} and 'int') 70 | if(p == 3) { | ~ ^~ ~ | | | | | int | std::string {aka std::__cxx11::basic_string<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: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:70:13: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::pair<_T1, _T2>' 70 | if(p == 3) { | ^ 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: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:70:13: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::reverse_iterator<_Iterator>' 70 | if(p == 3) { | ^ 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: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:70:13: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::reverse_iterator<_Iterator>' 70 | if(p == 3) { | ^ 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: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:70:13: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::move_iterator<_IteratorL>' 70 | if(p == 3) { | ^ 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: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:70:13: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::move_iterator<_IteratorL>' 70 | if(p == 3) { | ^ 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: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:70:13: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::fpos<_StateT>' 70 | if(p == 3) { | ^ 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: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:70:13: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::allocator<_CharT>' 70 | if(p == 3) { | ^ 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: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:70:13: note: mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' and 'int' 70 | if(p == 3) { | ^ 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: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:70:13: note: mismatched types 'const std::__cxx11::basic_string<_CharT>' and 'int' 70 | if(p == 3) { | ^ 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: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:70:13: note: mismatched types 'const _CharT*' and 'int' 70 | if(p == 3) { | ^ 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: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:70:13: note: mismatched types 'const _CharT*' and 'std::__cxx11::basic_string<char>' 70 | if(p == 3) { | ^ 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: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::string' {aka 'std::__cxx11::basic_string<char>'} to 'const std::allocator<char>&' 192 | 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:1064: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>&)' 1064 | operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:1064:5: note: template argument deduction/substitution failed: combo.cpp:70:13: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' 70 | if(p == 3) { | ^ 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:1072: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>&)' 1072 | operator==(const __normal_iterator<_Iterator, _Container>& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:1072:5: note: template argument deduction/substitution failed: combo.cpp:70:13: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' 70 | if(p == 3) { | ^ 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:171:2: note: candidate: 'template<class _Up> bool __gnu_cxx::operator==(const __gnu_cxx::new_allocator<char>&, const __gnu_cxx::new_allocator<_Tp>&)' 171 | operator==(const new_allocator&, const new_allocator<_Up>&) | ^~~~~~~~ /usr/include/c++/10/ext/new_allocator.h:171:2: note: template argument deduction/substitution failed: combo.cpp:70:13: note: mismatched types 'const __gnu_cxx::new_allocator<_Tp>' and 'int' 70 | if(p == 3) { | ^ combo.cpp:71:16: warning: array subscript has type 'char' [-Wchar-subscripts] 71 | S += map[first][2]; | ^~~~~ combo.cpp:72:18: error: no match for 'operator==' (operand types are 'std::string' {aka 'std::__cxx11::basic_string<char>'} and 'int') 72 | } else if (p == 4) { | ~ ^~ ~ | | | | | int | std::string {aka std::__cxx11::basic_string<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: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:72:21: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::pair<_T1, _T2>' 72 | } else if (p == 4) { | ^ 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: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:72:21: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::reverse_iterator<_Iterator>' 72 | } else if (p == 4) { | ^ 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: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:72:21: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::reverse_iterator<_Iterator>' 72 | } else if (p == 4) { | ^ 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: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:72:21: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::move_iterator<_IteratorL>' 72 | } else if (p == 4) { | ^ 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: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:72:21: note: 'std::string' {aka 'std::__cxx11::basic_string<char>'} is not derived from 'const std::move_iterator<_IteratorL>' 72 | } else if (p == 4) { | ^ 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:222:5: note: candidate: 'template<class _StateT> bool std::operator==(con