Submission #683961

#TimeUsernameProblemLanguageResultExecution timeMemory
683961JuanCombo (IOI18_combo)C++17
100 / 100
34 ms584 KiB
#include<bits/stdc++.h>
#include "combo.h"
using namespace std;


string guess_sequence(int N){
	string ans = "";
	char A, B, C, D;
	set<int> st;
	st.insert('A'), st.insert('B'), st.insert('X'), st.insert('Y');

	if(press("AB")){
		if(press("A")) A = 'A';
		else A = 'B';
	}
	else{
		if(press("X")) A = 'X';
		else A = 'Y';
	}
	ans+=A;
	if(N==1) return ans;
	st.erase(A);
	auto it = st.begin();
	B = *it, it++, C = *it, it++, D = *it;

	for(int i = 1; i < N-1; i++){
		string aux = ans+B + ans+C+B + ans+C+C + ans+C+D;
		int prs = press(aux) - i;
		if(prs==0)
			ans+=D;
		else if(prs==1)
			ans+=B;
		else if(prs==2)
			ans+=C;
	}

	string aux = "";
	if(press(ans+B)==N) ans+=B;
	else if(press(ans+C)==N) ans+=C;
	else ans+=D;

	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...