Submission #1337618

#TimeUsernameProblemLanguageResultExecution timeMemory
1337618JohanCombo (IOI18_combo)C++20
0 / 100
0 ms348 KiB
#include "combo.h"
#include "bits/stdc++.h"
using namespace std;

vector < char > v = {'A', 'B', 'X', 'Y'};
string guess_sequence(int n) {
	string s = "";
	if(n == 1){
		for(int i = 0; i < v.size() - 1; i++){
	  	if(press(s + v[i])){
	  		s += v[i];
	  		break;
			}
		}
		if(!s.size())s += v.back();
		return s;	
	}
	string cur = "ABX";
	if(press(cur) == 0)s = "Y";
	else {
		cur = "ABXBABB";
		int g = press(cur);
		if(g == 0)s = "X";
		else if(g == 1)s = "A";
		else s = "B";
	}
	vector < char > vv;
	for(char c : v){
		if(c != s[0])
			vv.push_back(c);
	}
	v = vv;
	while(s.size() <= n - 2){
		string cur = "";
		cur += (s + v[0]);
		cur += (s + v[1] + v[0]);
		cur += (s + v[1] + v[1]);
		cur += (s + v[1] + v[2]);
		int g = press(cur);
		if(g == s.size()){
			s += v[2];
		}
		else if(g == s.size() + 1){
			s += v[0];
		}
		else {
			s += v[1];
		}
	}
	for(char c : v){
		if(press(s + c) == s.size() + 1){
			s += c;
			break;
		}
	}
//	cout << s << endl;
	return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...