제출 #706742

#제출 시각아이디문제언어결과실행 시간메모리
706742Yell0콤보 (IOI18_combo)C++17
100 / 100
34 ms532 KiB
#include <bits/stdc++.h>
#include "combo.h"
 
using namespace std;
 
string guess_sequence(int N) {
  vector<char> ch={'A','B','X','Y'};
  if(press("AB")) {
    if(press("B")) swap(ch[0],ch[1]);
  } else {
    if(press("X")) swap(ch[0],ch[2]);
    else swap(ch[0],ch[3]);
  }
  string ans="";
  ans.push_back(ch[0]);
  for(int i=1;i<N-1;++i) {
    int r=press(ans+ch[1]+ans+ch[2]+ch[1]+ans+ch[2]+ch[2]+ans+ch[2]+ch[3]);
    if(r==i) ans.push_back(ch[3]);
    else if(r==i+1) ans.push_back(ch[1]);
    else ans.push_back(ch[2]);
  }
  if((int)ans.size()<N) {
    if(press(ans+ch[1])==N) ans.push_back(ch[1]);
    else {
      if(press(ans+ch[2])==N) ans.push_back(ch[2]);
      else ans.push_back(ch[3]);
    }
  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...