Submission #1161230

#TimeUsernameProblemLanguageResultExecution timeMemory
1161230AzaCombo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N){
	string s;
	if(press("AB")){
		if(press("A"))s += 'A';
		else s += 'B';
	}
	else{
		if(press("X"))s += 'X';
		else s += 'Y';
	}
	string rem;
	if(s[0] == 'A')rem = "BXY";
	if(s[0] == 'B')rem = "AXY";
	if(s[0] == 'X')rem = "ABY";
	if(s[0] == 'Y')rem = "ABX";
	if(N >= 2){
		for(int i = 2; i < N; i++){
			//cout << "CURGUESS = " << s << endl;
			string p = s + rem[1] + s + rem[0] + rem[1] + s + rem[0] + rem[0] + s + rem[0] + rem[2];
			int ret = press(p);
			if(ret == i){
				s += rem[1];
			}
			else if(ret == i + 1){
				s += rem[0];
			}
			else{
				s += rem[2];
			}
		}
		string p = s + 'A' + s + 'B';
		if(press(p) == N){
			if(press(s + 'A') == N)s += 'A';
			else s += 'B';
		}
		else{
			if(press(s + 'X') == N)s += 'X';
			else s += 'Y';
		}
	}
	return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...