제출 #1273030

#제출 시각아이디문제언어결과실행 시간메모리
1273030KluydQ콤보 (IOI18_combo)C++20
5 / 100
1 ms336 KiB
#include "combo.h"
#include <bits/stdc++.h>

using namespace std;

string guess_sequence( int N )
{
	int x = press("AB");
	string cur = "", pref = "";
	
	if( x >= 1 )
	{
		x = press("A");
		
		if(x) cur = "BXY", pref += 'A';
		else cur = "AXY", pref += 'B';
	}
	else
	{
		x = press("X");
		
		if(x) cur = "ABY", pref += 'X';
		else cur = "ABX", pref += 'Y';
	}
	for( int i = 2; i <= N - 1; i ++ )
	{
		string ask = "";
		
		ask += pref, ask += cur[0];
		ask += pref, ask += cur[1], ask += cur[2];
		ask += pref, ask += cur[1], ask += cur[1];
		ask += pref, ask += cur[1], ask += cur[0];
		
		x = press(ask) - i + 1;
		
		if( x == 2 ) pref += cur[1];
		if( x == 1 ) pref += cur[0];
		if( x == 0 ) pref += cur[2];
	}
	string ask = "";
	ask += pref, ask += cur[0];
	ask += pref, ask += cur[1];
	
	if( press(ask) == N )
	{
		ask = pref, ask += cur[0];
		
		if( press(ask) == N ) pref += cur[0];
		else pref += cur[1];
	}
	else pref += cur[2];
	
	return pref;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...