Submission #1315663

#TimeUsernameProblemLanguageResultExecution timeMemory
1315663jahongirCombo (IOI18_combo)C++20
100 / 100
7 ms476 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;

/*
  A-B-X-Y
*/

string guess_sequence(int N) {
	string s = "";

	vector<char> vec = {'A','B','X','Y'};

	int res = press("AB");
	if(res){
		res = press("A");
		s += (res?"A":"B");
	}else{
		res = press("X");
		s += (res?"X":"Y");
	}

	for(int i = 0; i < 4; i++) if(vec[i]==s[0]){
		vec.erase(vec.begin()+i); break;
	}

	for(int i = 1; i < N-1; i++){
		res = press(s+vec[0]+s+vec[1]+vec[0]+s+vec[1]+vec[1]+s+vec[1]+vec[2]);
		if(res==s.size()+1) s += vec[0];
		else if(res==s.size()+2) s += vec[1];
		else s += vec[2];
	}

	if(N>1){
		int res = press(s+"A"+s+"B");
		if(res==(int)s.size()+1){
			res = press(s+"A");
			s += (res==s.size()+1?"A":"B");
		}else{
			res = press(s+"X");
			s += (res==s.size()+1?"X":"Y");
		}
	}

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