제출 #861370

#제출 시각아이디문제언어결과실행 시간메모리
861370imarn콤보 (IOI18_combo)C++14
0 / 100
0 ms344 KiB
#include<bits/stdc++.h>
/*namespace {

constexpr int MAX_N = 2000;
constexpr int MAX_NUM_MOVES = 8000;

int N=100;
std::string S="ABXYXBBYYX";
int num_moves;

void wrong_answer(const char *MSG) {
  printf("Wrong Answer: %s\n", MSG);
  exit(0);
}

}   //namespace

int press(std::string p) {
  if (++num_moves > MAX_NUM_MOVES) {
    wrong_answer("too many movesq");
  }
  int len = p.length();
  if (len > 4 * N) {
    wrong_answer("invalid pressqq");
  }
  for (int i = 0; i < len; ++i) {
    if (p[i] != 'A' && p[i] != 'B' && p[i] != 'X' && p[i] != 'Y') {
      wrong_answer("invalid pressqqq");
    }
  }
  int coins = 0;
  for (int i = 0, j = 0; i < len; ++i) {
    if (j < N && S[j] == p[i]) {
      ++j;
    } else if (S[0] == p[i]) {
      j = 1;
    } else {
      j = 0;
    }
    coins = std::max(coins, j);
  }
  return coins;
}*/
int press(std::string p);
std::string guess_sequence(int N){
    std::string ans="";
    char s[4];
    if(press("A")==1)ans="A",s[0]='A',s[1]='B',s[2]='X',s[3]='Y';
    else if(press("B")==1)ans="B",s[0]='B',s[1]='A',s[2]='X',s[3]='Y';
    else if(press("X")==1)ans="X",s[0]='X',s[1]='B',s[2]='A',s[3]='Y';
    else ans="Y",s[0]='Y',s[1]='B',s[2]='X',s[3]='A';
    for(int i=2;i<=N-1;i++){
        std::string now1 = ans;now1+=s[1];
        std::string now2 = ans;now2+=s[2];now2+=s[1];
        std::string now3 = ans;now3+=s[2];now3+=s[2];
        std::string now4 = ans;now4+=s[2];now4+=s[3];
        std::string tt = now1+now2+now3+now4;
        int x = press(tt);
        if(x==i-1)ans = ans+s[3];
        else if(x==i)ans = ans+s[1];
        else ans = ans+s[2];
    }if(press(ans+s[1])==N){
        ans+=s[1];return ans;
    }
    if(press(ans+s[1])==N){
        ans+=s[2];return ans;
    }
    else{
        ans+=s[3];return ans;
    }
}
/*int main(){
    std::cout<<(guess_sequence(10)==S);
}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...