Submission #1290201

#TimeUsernameProblemLanguageResultExecution timeMemory
1290201ackhavaCombo (IOI18_combo)C++20
100 / 100
9 ms476 KiB
#include "combo.h"

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

char guess_first_char(){
  if(press("AB")){
    if(press("A"))return 'A';
    else return 'B';
  } else {
    if(press("X"))return 'X';
    else return 'Y';
  }
}

std::string guess_sequence(int N) {
  vector<char> v;
  char c = guess_first_char();
  if(c!='A')v.pb('A');
  if(c!='B')v.pb('B');
  if(c!='X')v.pb('X');
  if(c!='Y')v.pb('Y');
  string ans;
  ans.pb(c);
  N--;
  while(N >= 2){
    string q;
    q += ans;
    q += v[0];
    q += ans;
    q += v[1];
    q += v[0];
    q += ans;
    q += v[1];
    q += v[1];
    q += ans;
    q += v[1];
    q += v[2];
    int x=press(q);
    if(x == ans.size())ans.pb(v[2]);
    else if(x == (ans.size()+1))ans.pb(v[0]);
    else ans.pb(v[1]);
    N--;
  }
  if(N == 1){
    if(press(ans + v[0])!=ans.size())return ans+v[0];
    if(press(ans + v[1])!=ans.size())return ans+v[1];
    return ans+v[2];
  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...