Submission #109655

#TimeUsernameProblemLanguageResultExecution timeMemory
109655youssefbou62Combo (IOI18_combo)C++14
97 / 100
41 ms672 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 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" ; while ( (int)s.length() != n ){ string s2 ; int ans ; if( (int) s.length() == n-1 ) { s2 = s + buttons[0] + s + buttons[1]; if( press ( s2 ) == (int)s.length() ){ s.pb(buttons[2]) ; break ; } s2 = s + buttons[1] ; if( press ( s2 ) == (int)s.length() + 1 ){ s.pb(buttons[1]) ; break ; } s += buttons[0] ; break ; } else s2 = s + buttons[0] + s + buttons[1] + buttons[0] + s + buttons[1] + buttons[1] + s + buttons[1] + buttons[2] ; ans = press ( s2 ) ; if( ans == (int)s.length() ){ s.pb(buttons[2]) ; }else if( ans == (int)s.length() + 1 ){ s.pb(buttons[0]) ; }else if( ans == (int)s.length() + 2 ){ s.pb(buttons[1]); } } assert( (int)s.length() == n) ; return s ; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...