제출 #675755

#제출 시각아이디문제언어결과실행 시간메모리
675755GGOSHAB콤보 (IOI18_combo)C++14
컴파일 에러
0 ms0 KiB
#include <iostream> #include <vector> #include "combo.h" #define PI 3.14159265359 using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector<int> bigInt; const ull INF = -1; int press(const string &s); string guess_sequence(int n) { string ans; ans.reserve(n); if (press("AB")) { if (press("A")) ans.push_back('A'); else ans.push_back('B'); } else { if (press("X")) ans.push_back('X'); else ans.push_back('Y'); } char ex = ans[0]; string t, letters = "ABXY", tl; for (char c : letters) if (c != ex) tl.push_back(c); t.reserve(4 * n); for (int i = 2; i <= n; ++i) { for (int i = 0; i < 3; ++i) { t += ans; t.push_back(tl[i]); } int size = t.length() / 3; if (press(t.substr(0, size << 1))) { if (press(t.substr(0, size))) ans.push_back(tl[0]); else ans.push_back(tl[1]); } else { ans.push_back(tl[2]); } } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:21:19: error: call of overloaded 'press(const char [3])' is ambiguous
   21 |     if (press("AB")) {
      |                   ^
In file included from combo.cpp:3:
combo.h:7:5: note: candidate: 'int press(std::string)'
    7 | int press(std::string p);
      |     ^~~~~
combo.cpp:16:5: note: candidate: 'int press(const string&)'
   16 | int press(const string &s);
      |     ^~~~~
combo.cpp:22:22: error: call of overloaded 'press(const char [2])' is ambiguous
   22 |         if (press("A"))
      |                      ^
In file included from combo.cpp:3:
combo.h:7:5: note: candidate: 'int press(std::string)'
    7 | int press(std::string p);
      |     ^~~~~
combo.cpp:16:5: note: candidate: 'int press(const string&)'
   16 | int press(const string &s);
      |     ^~~~~
combo.cpp:28:22: error: call of overloaded 'press(const char [2])' is ambiguous
   28 |         if (press("X"))
      |                      ^
In file included from combo.cpp:3:
combo.h:7:5: note: candidate: 'int press(std::string)'
    7 | int press(std::string p);
      |     ^~~~~
combo.cpp:16:5: note: candidate: 'int press(const string&)'
   16 | int press(const string &s);
      |     ^~~~~
combo.cpp:49:41: error: call of overloaded 'press(std::__cxx11::basic_string<char>)' is ambiguous
   49 |         if (press(t.substr(0, size << 1))) {
      |                                         ^
In file included from combo.cpp:3:
combo.h:7:5: note: candidate: 'int press(std::string)'
    7 | int press(std::string p);
      |     ^~~~~
combo.cpp:16:5: note: candidate: 'int press(const string&)'
   16 | int press(const string &s);
      |     ^~~~~
combo.cpp:50:40: error: call of overloaded 'press(std::__cxx11::basic_string<char>)' is ambiguous
   50 |             if (press(t.substr(0, size)))
      |                                        ^
In file included from combo.cpp:3:
combo.h:7:5: note: candidate: 'int press(std::string)'
    7 | int press(std::string p);
      |     ^~~~~
combo.cpp:16:5: note: candidate: 'int press(const string&)'
   16 | int press(const string &s);
      |     ^~~~~