Submission #889300

#TimeUsernameProblemLanguageResultExecution timeMemory
889300Hugo1729콤보 (IOI18_combo)C++11
97 / 100
16 ms1828 KiB
#include "combo.h"
#include <bits/stdc++.h>

using namespace std;

// int press(string q){return 1;}

string guess_sequence(int N){
  string ans;
  string letters[3];
  if (press("A")==1) {ans="A";letters[0]="B";letters[1]="X";letters[2]="Y";}
  else if (press("B")==1) {ans="B";letters[0]="A";letters[1]="X";letters[2]="Y";}
  else if (press("X")==1) {ans="X";letters[0]="B";letters[1]="A";letters[2]="Y";}
  else {ans="Y";letters[0]="B";letters[1]="X";letters[2]="A";}

  int n=1;
  
  if (N==1){
    return ans;
  } else if (N==2){
    if(press(ans+letters[0])==2) ans+=letters[0];
    else if(press(ans+letters[1])==2) ans+=letters[1];
    else ans+=letters[2];

    return ans;

  } else{
    while(n<=N-2){

    int query = press((ans+letters[0])+(ans+letters[1]+letters[0])+(ans+letters[1]+letters[1])+(ans+letters[1]+letters[2]));

    if (query==n+1) ans+=letters[0];
    else if (query==n+2) ans+=letters[1];
    else ans+=letters[2];

    // if(press(ans+letters[0])==n+1) ans+=letters[0];
    // else if(press(ans+letters[1])==n+1) ans+=letters[1];
    // else ans+=letters[2];

    n++;
  }

  if(press(ans+letters[0])==n+1) ans+=letters[0];
  else if(press(ans+letters[1])==n+1) ans+=letters[1];
  else ans+=letters[2];

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