제출 #1159606

#제출 시각아이디문제언어결과실행 시간메모리
1159606trvhung콤보 (IOI18_combo)C++20
컴파일 에러
0 ms0 KiB
// #include "combo.h"
#include <bits/stdc++.h>
using namespace std;

const char ch[4] = {'A', 'B', 'X', 'Y'};

char getFirst(string s) {
	char bck = s.back(); s.pop_back();
	return press(s) == 1 ? s[0] : bck;
}

string guess_sequence(int N) {
	char first = press("AB") == 0 ? getFirst("XY") : getFirst("AB");
	int idFirst;
	for (int i = 0; i < 4; ++i)
		if (ch[i] == first)
			idFirst = i;

	vector<char> remain;
	for (int i = 0; i < 4; ++i)
		if (i != idFirst)
			remain.push_back(ch[i]);

	string s = ""; s += first;
	for (int i = 2; i < N; ++i) {
		string p = s + remain[0] + s + remain[1] + remain[0] + s + remain[1] + remain[1] + s + remain[1] + remain[2];
		int ask = press(p);
		if (ask == i) 
			s += remain[0];
		else if (ask == i + 1)
			s += remain[1];
		else 
			s += remain[2];
	}

	string p = s + 'A' + s + 'B';
	if (press(p) == N) {
		if (press(s + 'A') == N) 
			s += 'A';
		else
			s += 'B';
	} else {
		if (press(s + 'X') == N)
			s += 'X';
		else 
			s += 'Y';
	}

	return s;
}

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

combo.cpp: In function 'char getFirst(std::string)':
combo.cpp:9:16: error: 'press' was not declared in this scope
    9 |         return press(s) == 1 ? s[0] : bck;
      |                ^~~~~
combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:13:22: error: 'press' was not declared in this scope
   13 |         char first = press("AB") == 0 ? getFirst("XY") : getFirst("AB");
      |                      ^~~~~