제출 #230959

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

string guess_sequence(int len)
{
	string ret = "";
	string keys = "ABXY";
	char first_car;
	if (press("AB"))
	{
		if (press("A"))
			first_car = 'A';
		else
			first_car = 'B';
	}
	else
	{
		if (press("X"))
			first_car = 'X';
		else
			first_car = 'Y';
	}
	string keys_left = "";
	for (auto c : keys)
		if (c != first_car)
			keys_left += c;

	for (int nb_trouve(2); nb_trouve < len; ++nb_trouve)
	{
		string ask = ""
		for (auto c : keys_left)
			ask += ret + keys_left[0] + c;
		ask ++ ret + keys_left[1];
		int nb = press(ask);
		if (nb == nb_trouve - 1)
			ret += keys_left[2];
		if (nb == nb_trouve)
			ret += keys_left[1];
		if (nb == nb_trouve + 1)
			ret += keys_left[2];
	}

	if (press(ret + keys_left[0]) == len)
		ret += keys_left[0];
	else
	{
		if (press(ret + keys_left[1]) == len)
			ret += keys_left[1];
		else
			ret += keys_left[2];
	}
	return ret;
}

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:9:6: error: 'press' was not declared in this scope
    9 |  if (press("AB"))
      |      ^~~~~
combo.cpp:31:3: error: expected ',' or ';' before 'for'
   31 |   for (auto c : keys_left)
      |   ^~~
combo.cpp:33:7: error: no 'operator++(int)' declared for postfix '++' [-fpermissive]
   33 |   ask ++ ret + keys_left[1];
      |   ~~~~^~
combo.cpp:34:12: error: 'press' was not declared in this scope
   34 |   int nb = press(ask);
      |            ^~~~~
combo.cpp:43:6: error: 'press' was not declared in this scope
   43 |  if (press(ret + keys_left[0]) == len)
      |      ^~~~~