Submission #235634

#TimeUsernameProblemLanguageResultExecution timeMemory
235634dannber_BR콤보 (IOI18_combo)C++14
0 / 100
1 ms200 KiB
#include "combo.h"
#include <bits/stdc++.h>

using namespace std;

string Btns[] = {"A","B","X","Y"};

string guess_sequence(int N) {
  string Btns[] = {"A","B","X","Y"};
  string s = "";
  int p = 0;

  if (press(Btns[0]) == 1) {
    s += Btns[0];
    p = 0;
    for(int i = 0;i < 4;i++)
    {
      if (i != p)
      {
        if (press(s + Btns[i]) == 2) s += Btns[i];
      }
    }
  }
  else if (press(Btns[1]) == 1) {
    s += Btns[1];
    p = 1;
    for(int i = 0;i < 4;i++)
    {
      if (i != p)
      {
        if (press(s + Btns[i]) == 2) s += Btns[i];
      }
    }
  }
  else if (press(Btns[2]) == 1){
    s += Btns[2];
    p = 2;
    for(int i = 0;i < 4;i++)
    {
      if (i != p)
      {
        if (press(s + Btns[i]) == 2) s += Btns[i];
      }
    }
  }
  else if (press(Btns[3]) == 1) {
    s += Btns[3];
    p = 3;
    for(int i = 0;i < 4;i++)
    {
      if (i != p)
      {
        if (press(s + Btns[i]) == 2) s += Btns[i];
      }
    }
  }



  for(int i = 3;i <= N;i++)
  {
    bool fact = false;
    for(int j = 0;j <= 3;j++)
    {
      if(j != p)
      {
        if(press(s + Btns[j]) == i)
        {
          s += Btns[j];
          fact = true;
          while(fact)
          {
            if (press(s + Btns[j]) == i)
            {
              s += Btns[j];
              i++;
            }
            else
            {
              break;
            }
            
          }
          break;
        }
      }
    }
  }
  return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...