Submission #284097

#TimeUsernameProblemLanguageResultExecution timeMemory
284097TheRedstarCombo (IOI18_combo)C++11
Compilation error
0 ms0 KiB



#include <bits/stdc++.h>


using namespace std;

/*
int press(string code) {
	cout << "Common in code "<<code<<": ";
	int n;
	cin >> n;
	return n;
}*/

string guess_sequence(int N) {
	
	//test case
	if(N==1) {
		if(press("A"))	return "A";
		if(press("B"))	return "B";
		if(press("X"))	return "X";
		if(press("Y"))	return "Y";
	}
	
	string code="";
	string opts;
	
	//get first char
	if(press("AB")) {
		if(press("A"))	{code="A";opts="BXY";}
		else			{code="B";opts="AXY";}
	} else {
		if(press("X"))	{code="X";opts="ABY";}
		else			{code="Y";opts="ABX";}
	}
	
	//get middle chars
	for(int i=1; i<N-1; i++) {
		string p=code+opts[1];
		for(char c:opts) {p+=code+opts[2]+c;}
		
		int val=press(p);
		
		if(val==i) code+=opts[0];
		else if(val==i+1) code+=opts[1];
		else code+=opts[2];
	}
	
	//get last char
	if(press(code+opts[0])==N) code+=opts[0];
	else if(press(code+opts[1])==N) code+=opts[1];
	else code+=opts[2];
	
	return code;
}



/*
int main() {
	string code="ABXYY";
	cout << code << endl;
	cout << guess_sequence(5) << endl;
}*/

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:21:6: error: 'press' was not declared in this scope
   21 |   if(press("A")) return "A";
      |      ^~~~~
combo.cpp:22:6: error: 'press' was not declared in this scope
   22 |   if(press("B")) return "B";
      |      ^~~~~
combo.cpp:23:6: error: 'press' was not declared in this scope
   23 |   if(press("X")) return "X";
      |      ^~~~~
combo.cpp:24:6: error: 'press' was not declared in this scope
   24 |   if(press("Y")) return "Y";
      |      ^~~~~
combo.cpp:31:5: error: 'press' was not declared in this scope
   31 |  if(press("AB")) {
      |     ^~~~~
combo.cpp:44:11: error: 'press' was not declared in this scope
   44 |   int val=press(p);
      |           ^~~~~
combo.cpp:52:5: error: 'press' was not declared in this scope
   52 |  if(press(code+opts[0])==N) code+=opts[0];
      |     ^~~~~