Submission #1248084

#TimeUsernameProblemLanguageResultExecution timeMemory
1248084exoworldgdCombo (IOI18_combo)C++20
0 / 100
7 ms516 KiB
#pragma GCC optimize("O3")
#pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt")
#include <bits/stdc++.h>
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
int press(string s);
const char c[] = {'A','B','X','Y'};
int ask(string s) {return press(s);}
int ask1(string s) {
	int len = press(s+c[0]+s+c[1]);
	int idx = 2*(len < s.length()+1);
	len = press(s+c[idx]), idx += (len<s.length()+1);
	return idx;
}
string guess_sequence(int n) {
	string s;
	int idx[4];
	iota(idx,idx+4,0);
	int id = ask1(s);
	s += c[id], swap(idx[id],idx[3]);
	for (int i = 0;  i < n-2 ; i ++) {
		string temp;
		for (int j =0; j < 3; j++) temp += s+c[idx[0]]+c[idx[j]];
		temp += c[idx[1]];
		int len = ask(temp);
		len == i+3 ? s += c[idx[0]] : (len== i+2 ? s += c[idx[1]] : s += c[idx[2]]);
	}
	if (n > 1) s += c[ask1(s)];
	return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...