Submission #108986

#TimeUsernameProblemLanguageResultExecution timeMemory
108986DodgeBallManCombo (IOI18_combo)C++14
5 / 100
2 ms284 KiB
#include <bits/stdc++.h>
#include "combo.h"

using namespace std;

string ans = "AB";
vector<char> c;

string guess_sequence( int n ) {
    int ret = press( ans );
    if( ret ) {
        ans.clear();
        if( press( "A" ) ) ans += 'A';
        else ans += 'B'; 
    }
    else {
        ans.clear();
        if( press( "X" ) ) ans += 'X';
        else ans += "Y";
    }
    if( ans[0] != 'A' ) c.emplace_back( 'A' );
    if( ans[0] != 'B' ) c.emplace_back( 'B' );
    if( ans[0] != 'X' ) c.emplace_back( 'X' );
    if( ans[0] != 'Y' ) c.emplace_back( 'Y' );
    for( int i = 2 ; i < n ; i++ ) {
        string p = ans + c[0] + c[0] + ans + c[0] + c[1] + ans + c[0] + c[2] + ans + c[1];
        int ret = press( p );
        if( ret > i ) ans += c[0];
        else if( ret == i ) ans += c[1];
        else ans += c[2];
    }
    if( press( ans + c[0] ) == n ) ans += c[0];
    else if( press( ans + c[1] ) == n ) ans += c[1];
    else ans += c[2];
    return ans;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...