Submission #1217666

#TimeUsernameProblemLanguageResultExecution timeMemory
1217666nickolasarapidisCombo (IOI18_combo)C++17
100 / 100
7 ms484 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;

string guess_sequence(int N){
	string S;
	char start;
	int a = press("AB");
	if(a == 2){
		start = 'A';
	}
	else if(a == 1){
		if(press("B") == 1) start = 'B';
		else start = 'A';
	}
	else if(press("X") == 1) start = 'X';
	else start = 'Y';
	S += start;
	vector<char> c;
	if(start != 'A') c.push_back('A');
	if(start != 'B') c.push_back('B');
	if(start != 'X') c.push_back('X');
	if(start != 'Y') c.push_back('Y');
	for(int i = 1; i < N - 1; i++){
		int q = press(S + c[0] + S + c[1] + c[0] + S + c[1] + c[1] + S + c[1] + c[2]);
		if(q == i + 1) S += c[0];
		else if(q == i + 2) S += c[1];
		else S += c[2];
	}
	if(S.size() == N - 1){
		if(press(S + c[0]) == N) S += c[0];
		else if(press(S + c[1]) == N) S += c[1];
		else S += c[2];
	}
	return S;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...