Submission #1187696

#TimeUsernameProblemLanguageResultExecution timeMemory
1187696nouka28Combo (IOI18_combo)C++20
0 / 100
7 ms484 KiB
#include "combo.h"

#include<bits/stdc++.h>
using namespace std;

// #define int long long

#define rep(i,n) for(int i=0;i<(n);i++)
#define rng(i,l,r) for(int i=(l);i<(r);i++)
#define rrep(i,n) for(int i=(n)-1;i>=0;i--)
#define rrng(i,l,r) for(int i=(r)-1;i>=(l);i--)

#define fi first
#define se second
#define all(x) (x).begin(),(x).end()

std::string guess_sequence(int N) {
	string ans="";
	{
		int x=press("AB");
		if(x){
			if(press("A"))ans="A";
			else ans="B";
		}else{
			if(press("X"))ans="X";
			else ans="Y";
		}
	}
	if(N==1)return ans;
	string t="ABXY";
	t.erase(find(all(t),ans[0]));

	rep(i,N-2){
		string s=ans+t[0]+ans+t[1]+t[0]+ans+t[1]+t[1]+ans+t[1]+t[2];
		int x=press(s);
		if(x==i+1)ans+=t[2];
		else if(x==i+2)ans+=t[1];
		else ans+=t[0];
	}

	if(press(ans+t[0])==N)return ans+t[0];
	else if(press(ans+t[1])==N)return ans+t[1];
	else return ans+t[2];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...