제출 #1223178

#제출 시각아이디문제언어결과실행 시간메모리
1223178fermatCombo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include "combo.h"
#include <bits/stdc++.h>
//#include "grader.cpp"

#define fr first
#define sc second
#define mk make_pair
#define pb push_back
#define all(s) s.begin(), s.end()

using namespace std;

string s;

string guess_sequence (int n) 
{  
 int res = press("AB");
 
 char ch1, ch2, ch3;
 
 if (res){
  if (press("A") )
   s += 'A';
  else
   s += 'B';
 }
 else{
  if (press("X") )
   s += 'X';
  else
   s += 'Y';
 }
 if (s[0] == 'A')
  ch1 = 'B', ch2 = 'X', ch3 = 'Y';
 
 if (s[0] == 'B')
  ch1 = 'A', ch2 = 'X', ch3 = 'Y';
 
 if (s[0] == 'X')
  ch1 = 'B', ch2 = 'A', ch3 = 'Y';
 
 if (s[0] == 'Y')
  ch1 = 'B', ch2 = 'X', ch3 = 'A';
 
 for (int i = 1; i < n; i++)
 {
  if (i < n - 1){
   int res = press( s + ch1 + s + ch2 + ch1 + s + ch2 + ch2 + s + ch2 + ch3 ) - i;
   
   if (res == 0)
    s += ch3;
   else if (res == 1)
    s += ch1;
   else
    s += ch2;
  }
  else{
   int res = press(s + ch1) - i;
   
   if (res)
    s += ch1;
   else{
    res = press(s + ch2) - i;
    
    if (res)
     s += ch2;
    else
     s += ch3;
   } 
  }
 }
 return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...