Submission #1273223

#TimeUsernameProblemLanguageResultExecution timeMemory
1273223arkanefuryCombo (IOI18_combo)C++20
0 / 100
1 ms332 KiB
#include "combo.h"
#include <bits/stdc++.h>
#define pb push_back
#define F first
#define S second
#define sz size()
#define FOR(x, n, m, d) for(int x = n; x <= m; x += d)
#define nikita ios_base::sync_with_stdio(0), cin.tie(0);
using namespace std;
string guess_sequence(int N) {
  string p = "", S = "", str;
  int cnt;
  cnt = press("AB");
  char st;
  if(!cnt){
    cnt = press("X");
    if(cnt)st = 'X';
    else st = 'Y';
  }
  else{
    cnt = press("A");
    if(cnt)st = 'A';
    else st = 'B';
  }
  p += st;
  if(N == 1){
    return p;
  }
  FOR(i, 2, N, 1){
    str = p;
    char sk = str[str.sz-1];
    char sp1, sp2;
    if(st != 'A' && sk != 'A')sp1 = 'A';
    if(st != 'B' && sk != 'B')sp1 = 'B';
    if(st != 'X' && sk != 'X')sp1 = 'X';
    if(st != 'Y' && sk != 'Y')sp1 = 'Y';
    if(st != 'A' && sk != 'A' && sp1 != 'A')sp2 = 'A';
    if(st != 'B' && sk != 'B' && sp1 != 'B')sp2 = 'B';
    if(st != 'X' && sk != 'X' && sp1 != 'X')sp2 = 'X';
    if(st != 'Y' && sk != 'Y' && sp1 != 'Y')sp2 = 'Y';
    str += sp1;
    str += st + p + sp2 + sp2;
    str += st + p + sp2 + sp1;
    str += st + p + sp2 + sk;
    cnt = press(str);
    if(cnt == p.sz + 2)p += sp2;
    else if(cnt == p.sz)p += p[p.sz-1];
    else p += sp1;
  }
  return p;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...