Submission #889295

#TimeUsernameProblemLanguageResultExecution timeMemory
889295Hugo1729Combo (IOI18_combo)C++11
5 / 100
1 ms504 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";}
  if (press("B")==1) {ans="B";letters[0]="A";letters[1]="X";letters[2]="Y";}
  if (press("X")==1) {ans="X";letters[0]="B";letters[1]="A";letters[2]="Y";}
  if (press("Y")==1) {ans="Y";letters[0]="B";letters[1]="X";letters[2]="A";}

  int n=1;
  
  if (N!=2){
    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;
  } else {
    while(n<=N-1){

    // 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...