Submission #1175882

#TimeUsernameProblemLanguageResultExecution timeMemory
1175882rafsanamin2020Combo (IOI18_combo)C++20
100 / 100
7 ms480 KiB
#include <string>
#include <iostream>
#include "combo.h"

using namespace std;

std::string guess_sequence(int N)
{
  int f = press("AB"), s = press("BX"), cnt = 1;
  string P = "", S = "", Ct = "ABXY", C = "";

  if (f > 0 && s > 0)
    S.push_back('B');
  else if (f > 0 && s <= 0)
    S.push_back('A');
  else if (f <= 0 && s > 0)
    S.push_back('X');
  else
    S.push_back('Y');

  for (char v : Ct)
  {
    if (v != S[0])
      C.push_back(v);
  }

  while (cnt < N - 1)
  {
    P = "";
    P += (S + C[0]);
    for (int i = 0; i < 3; i++)
    {
      P += (S + C[1] + C[i]);
    }

    int q = press(P);
    if (q == cnt)
    {
      S += C[2];
    }
    else if (q == cnt + 1)
    {
      S += C[0];
    }
    else
    {
      S += C[1];
    }

    cnt++;
  }

  if (cnt != N)
    S += press(S + C[0]) > cnt ? C[0] : press(S + C[1]) > cnt ? C[1]
                                                              : C[2];

  return S;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...