Submission #109537

#TimeUsernameProblemLanguageResultExecution timeMemory
109537youssefbou62Combo (IOI18_combo)C++14
5 / 100
28 ms308 KiB
#include  <bits/stdc++.h>
#include "combo.h" 
using namespace std;

#define mp make_pair
#define fi first
#define se second
#define all(v) v.begin(),v.end()
#define allarr(a) a , a + n
#define pb push_back
/*int press (string s ){cout<<"query "<<s<<endl; 
	int x ; cin>> x ; return x ; 
}*/

string guess_sequence (int n){
		string buttons ,s;  
		if( press("A")==1 ) s.pb('A') , buttons = "BXY" ;
		else if( press("B")==1 ) s.pb('B') , buttons = "AXY" ;
		else if( press("X")==1 ) s.pb('X') , buttons = "ABY" ;
		else  s.pb('Y' ) , buttons = "ABX" ; 
		
		for(int i = 1 ; i < n ; i++ ){
			//cout<<i<<" "<<s<<endl; 
			if( i == 1 ) {
				for( char b : buttons ){
					int ans = press ( s + b + buttons[0] ) ; 
					if( ans == i+1 ){
						s+=b ;  break ;
					} 
					if( ans == i+2 ) {
						s+= b ; 
						s+= buttons[0] ;  
						 i ++ ; 
						  break ;
					} 
				}
				
				continue ; 	 
			}
				int ans = press ( s + buttons[1] + buttons[0] ) ; 
				if( ans == i + 2 ){
					 s += buttons[1]  ;  
					 if( i != n-1 ) s+= buttons[0] ; 
					 i++ ; 
				}
				else if( ans == i + 1 ) s += buttons[1] ; 
				else s += buttons[2] ; 
			
		}
		return s ; 
}
/*
int main(){int n ; cin>> n ; 
	cout<<"answer is "<<guess_sequence(n)<<endl; 
}*/
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...