제출 #1151670

#제출 시각아이디문제언어결과실행 시간메모리
1151670Esgeer콤보 (IOI18_combo)C++20
5 / 100
0 ms408 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;

string guess_sequence(int N) {
  // guess first character;
  string T;
  if(press("AB")) {
    if(press("A")) T = "A";
    else T = "B";
  } else {
    if(press("X")) T = "X";
    else T = "Y";
  }

  vector<char> ch;
  if(T != "A") ch.push_back('A');
  if(T != "B") ch.push_back('B');
  if(T != "X") ch.push_back('X');
  if(T != "Y") ch.push_back('Y');

  // guess n-2 characters;
  for(int i = 0; i < N-2; i++) {
    int r = press(T + ch[0] + T + ch[1] + ch[0] + T + ch[1] + ch[1] + T + ch[1] + ch[2]);
    if(r == T.length()) T.push_back(ch[2]);
    else if(r == T.length() + 1) T.push_back(ch[0]);
    else T.push_back(ch[1]);
  }

  // guess last characters
  if(press(T + ch[0] + T + ch[1]) == T.length()) T.push_back(ch[2]);
  else if(press(T + ch[0]) == T.length()) T.push_back(ch[1]);
  else T.push_back(ch[0]);

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