Submission #394356

#TimeUsernameProblemLanguageResultExecution timeMemory
394356iulia13Combo (IOI18_combo)C++14
5 / 100
1 ms316 KiB
#include <iostream>
#include "combo.h"
using namespace std;
char dani[4] = {'A', 'B', 'X', 'Y'};
string s;
/*string S;
string s;
int N;
int press(string p) {
  int len = p.length();
  int coins = 0;
  for (int i = 0, j = 0; i < len; ++i) {
    if (j < N && S[j] == p[i]) {
      ++j;
    } else if (S[0] == p[i]) {
      j = 1;
    } else {
      j = 0;
    }
    coins = max(coins, j);
  }
  return coins;
}*/
string guess_sequence(int n)
{
    int i;
    if (press(s + dani[0] + dani[1]) > 0)
    {
        if (1 == press(s + dani[0]))
        {
            s += dani[0];
            swap(dani[0], dani[3]);
        }
        else
        {
            s += dani[1];
            swap(dani[1], dani[3]);
        }
    }
    else
    {
        if (1 == press(s + dani[2]))
        {
            s += dani[2];
            swap(dani[2], dani[3]);
        }
        else
            s += dani[3];
    }
    for (i = 2; i < n; i++)
    {
        int bebic = press(s + dani[0] + s + dani[1] + dani[0] + s + dani[1] + dani[2] + s + dani[1] + dani[1]);
        if (bebic == i - 1)
            s += dani[2];
        else
        if (bebic == i)
            s += dani[0];
        else
            s += dani[1];
    }
    if (press(s + dani[0] + s + dani[1]) >= n)
    {
        if (n == press(s + dani[0]))
            s += dani[0];
        else
            s += dani[1];
    }
    else
        s += dani[2];
    return s;
}/*
int main()
{
    cin >> S;
    N = S.size();
    cout << guess_sequence(N);
    return 0;
}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...