Submission #1341318

#TimeUsernameProblemLanguageResultExecution timeMemory
1341318tte0Combo (IOI18_combo)C++20
5 / 100
1 ms412 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string s="ABXY";
char starting;

string guess_sequence(int N) {
	int x=2*bool(press("XY"))+bool(press("BY"));
	starting=s[x];
	s.erase(x,1);
	// cerr<<"chars: "<<s<<endl;

	string ans="";
	ans+=starting;

	while(int(ans.size())<N-1){
		// cerr<<"ans: "<<ans<<endl;
		int x=press(ans+s[0]+s[0]+
			  		ans+s[0]+s[1]+
			  		ans+s[0]+s[2]+
			  		ans+s[1]);
		assert((int)ans.size()<=x && x<=(int)ans.size()+2);
		if(x==int(ans.size()))ans+=s[2];
		else if(x==int(ans.size())+1)ans+=s[1];
		else ans+=s[0];
	}

	if(press(ans+s[0])==N)return ans+s[0];
	if(press(ans+s[1])==N)return ans+s[1];
	return ans+s[2];
}

/*
 *
 */

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...