Submission #1251898

#TimeUsernameProblemLanguageResultExecution timeMemory
1251898luka_zecevicCombo (IOI18_combo)C++20
0 / 100
0 ms408 KiB
#include "bits/stdc++.h"
#define FAST ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define ff first
#define ss second
#define ll long long
using namespace std;

int press(string p);
// {
//     cout << "? " << p << endl;
//     int ans; cin >> ans;
//     return ans;
// }

string guess_sequence(int N)
{
    int p = press("AB");
    string s = " ";
    if(p) s[0] = ( press("A") ? 'A' : 'B');
    else s[0] = ( press("X") ? 'X' : 'Y');
    string t = "ABXY";
    if(s[0] == 'B') swap(t[0], t[1]);
    if(s[0] == 'X') swap(t[0], t[2]);
    if(s[0] == 'Y') swap(t[0], t[3]);

    string q = "";
    for(int i = 1; i < N - 1; i++)
    {
        q = s + t[1] + t[1] + string(t[0], N - 2 - i) + s + t[1] + t[2] + string(t[0], N - 2 - i) + s + t[1] + t[3] + string(t[0], N - 2 - i) + s + t[2] + string(t[0], N - 2 - i);
        p = press(q);
        if(p == i + 2) s = s + t[1];
        else if(p == i + 1) s = s + t[2];
        else s = s + t[3];
    }

    q = s + t[1];
    if(press(q) == N) s = s + t[1];
    else s = s + (press(s + t[2]) == N ? t[2] : t[3]);
    return s;
}



// int main()
// {
//     FAST;
//     int n; cin >> n;
//     string s = guess_sequence(n);
//     cout << s << "\n";
//     return 0;
// }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...