Submission #1191527

#TimeUsernameProblemLanguageResultExecution timeMemory
1191527viduxCombo (IOI18_combo)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;

// #define LOCAL

typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> pii;

#ifdef LOCAL
int press(string p) {
	cout << p << ": ";
	int x; cin >> x;
	return x;
}
#endif

string guess_sequence(int n) {
	string a;
	string all = "ABXY";
	string cur = "ABXY";
	{ // Find first
		int _01 = press("AB");
		if (_01) {
			int _0 = press(string(1, all[0]));
			if (_0) a.push_back(all[0]), cur.erase(cur.begin()+0);
			else    a.push_back(all[1]), cur.erase(cur.begin()+1);
		}
		else {
			int _2 = press(string(1, all[2]));
			if (_2) a.push_back(all[2]), cur.erase(cur.begin()+2);
			else    a.push_back(all[3]), cur.erase(cur.begin()+3);
		}
	}

	{ // Find middle
		for (int i = 2; i <= n-1; i++) {
			string guess = a;
			guess += cur[0];
			for (int j = 0; j < 3; j++) guess += a + cur[1] + cur[j];
			int score = press(guess);
			if (score == i) a += cur[0];
			else if (score == i+1) a += cur[1];
			else a += cur[2];
		}
	}
	
	{ // Find last
		string guess = a + cur[0] + a + cur[1];
		int _01 = press(guess);
		if (_01 == n-1) a += cur[2];
		else {
			guess = a + cur[0];
			int _0 = press(guess);
			if (_0) a += cur[0];
			else 	a += cur[1];
		}
	}

	return a;
}

#ifdef LOCAL
int main() {
	int n; cin >> n;
	cout << guess_sequence(n) << endl;
	return 0;
}
#endif

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:23:27: error: 'press' was not declared in this scope
   23 |                 int _01 = press("AB");
      |                           ^~~~~
combo.cpp:41:37: error: 'press' was not declared in this scope
   41 |                         int score = press(guess);
      |                                     ^~~~~
combo.cpp:50:27: error: 'press' was not declared in this scope
   50 |                 int _01 = press(guess);
      |                           ^~~~~