제출 #548390

#제출 시각아이디문제언어결과실행 시간메모리
548390Killer2501콤보 (IOI18_combo)C++14
97 / 100
26 ms548 KiB
#include "combo.h"
using namespace std;
using ll = long long;
using ld = long double;
 
const int N = 3e5 +2;
const int base = 31;
const int mod = 1e9 +7;
int a[4], k;
string c[4] = {"A", "B", "X", "Y"};
string guess_sequence(int n)
{
    string res;
    if(!n)return res;
    if(press(c[0]+c[1]))
    {
      if(press(c[1]))swap(c[0], c[1]);
    }
    else if(press(c[2]))swap(c[0], c[2]);
    else swap(c[0], c[3]);
    res = c[0];
    if(n == 1)return res;
    for(int i = 2; i < n; i ++)
    {
        k = press(res+c[2]+res+c[3]+c[1]+res+c[3]+c[2]+res+c[3]+c[3]);
        if(k == i-1)res += c[1];
        else if(k == i)res += c[2];
        else res += c[3];
    }
    for(int i = 1; i < 4; i ++)
    {
        if(press(res+c[i]) == n)
        {
            res += c[i];
            break;
        }
    }
    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...