Submission #468120

#TimeUsernameProblemLanguageResultExecution timeMemory
468120jjjCombo (IOI18_combo)C++14
100 / 100
36 ms668 KiB
#include <bits/stdc++.h>
#include "combo.h"

using namespace std;

string guess_sequence(int N) {
  string p = "AB";
  string s = "", a = "", b = "", c = "";

  int coins = press(p);

  if(coins >= 1)
  {
      p = "A";

      coins = press(p);

      if(coins == 1)
      {
          s += 'A';

          a = "B";
          b = "X";
          c = "Y";
      }
      else
      {
          s += 'B';

          a = "A";
          b = "X";
          c = "Y";
      }
  }
  else
  {
      p = "X";
     coins = press(p);

     if(coins == 1)
     {
         s += 'X';

         a = "A";
         b = "B";
         c = "Y";
     }
     else
     {
         s += 'Y';

         a = "A";
         b = "B";
         c = "X";
     }
  }

  for (int i = 0; i < N - 2; i++)
  {
        p = "";
        p += s + a + a + s + a + b + s + a + c + s + b;

        coins = press(p);

        if(coins == i + 1) s += c;
        else if(coins == i + 2) s += b;
        else s += a;
  }

  if(s.length() < N)
  {
    if(press(s + a) == N) s += a;
    else if(press(s + b) == N) s += b;
    else s += c;
  }

  return s;
}

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:70:17: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   70 |   if(s.length() < N)
      |      ~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...