Submission #683957

#TimeUsernameProblemLanguageResultExecution timeMemory
683957JuanCombo (IOI18_combo)C++17
5 / 100
1 ms208 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;
	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="";
		aux+=ans, aux+=B;
		aux+=ans, aux+=C, aux+=B;
		aux+=ans, aux+=C, aux+=C;
		aux+=ans, aux+=C, aux+=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 = "";
	aux+=ans, aux+=B;
	if(press(aux)==N) ans+=B;
	else{
		aux.pop_back();
		aux+=C;
		if(press(aux)==N) ans+=C;
		else ans+=D;
	}

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