Submission #916686

#TimeUsernameProblemLanguageResultExecution timeMemory
916686vladburacCombo (IOI18_combo)C++17
100 / 100
16 ms1860 KiB
#include <bits/stdc++.h>
using namespace std;
#include "combo.h"
 
string guess_sequence( int n ) {
  int i;
  string p = "AX";
  string ans = "";
  char let[4] = { 'B', 'X', 'Y', 'A' };
  if( press( p ) != 0 ) {
    if( press( "A" ) == 1 )
      ans += 'A';
    else
      ans += 'X', swap( let[1], let[3] );
  }
  else {
    if( press( "B" ) == 1 )
      ans += 'B', swap( let[0], let[3] );
    else
      ans += 'Y', swap( let[2], let[3] );
  }
  for( i = 2; i < n; i++ ) {
    string p = ans + let[0] + ans + let[1] + let[0] + ans + let[1] + let[1] + ans + let[1] + let[2];
    int nr = press( p );
    if( nr == i - 1 )
      ans += let[2];
    else if( nr == i )
      ans += let[0];
    else if( nr == i + 1 )
      ans += let[1];
  }
  if( n != 1 ) {
    if( press( ans + let[0] ) == n )
      ans += let[0];
    else if( press( ans + let[1] ) == n )
      ans += let[1];
    else ans += let[2];
  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...