Submission #1249223

#TimeUsernameProblemLanguageResultExecution timeMemory
1249223nguynCombo (IOI18_combo)C++20
5 / 100
0 ms408 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;

#define ll long long
#define F first
#define S second
#define pb push_back
#define pii pair<int, int>

const int N = 1e6;

int press(string s);
string guess_sequence(int N) {
	string res = ""; 
	vector<char> c = {'A', 'B', 'X', 'Y'}; 
	if (press("AB")) {
		if (press("A")) {
			res += "A"; 
		} 
		else res += "B"; 
	}
	else {
		if (press("X")) {
			res += "X"; 
		}
		else res += "Y"; 
	}
	c.erase(find(c.begin(), c.end(), res[0])); 
	for (int i = 1; i <= N - 2; i++) {
		string ask = res; 
		ask.pb(c[2]);
		ask.pb(c[1]); 
		ask = ask + res; 
		ask.pb(c[2]);
		ask.pb(c[0]); 
		ask = ask + res;
		ask.pb(c[2]);
		ask.pb(c[2]); 
		ask = ask + res;
		ask.pb(c[1]);
		int x = press(ask);
		res += c[x - i]; 
//		cout << ask << '\n';
//		cout << res << '\n'; 
	}
	if (press(res + "A" + res + "B") == N) {
		if (press(res + "A") == N) {
			res += "A"; 
		}
		else res += "B"; 
	}
	else {
		if (press(res + "X") == N) {
			res += "X";
		}
		else {
			res += "Y";
		}
	}
	return res; 
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...