Submission #631671

#TimeUsernameProblemLanguageResultExecution timeMemory
631671StavabCombo (IOI18_combo)C++14
5 / 100
1 ms208 KiB
#include <combo.h>
     
using namespace std;
     
string guess_sequence(int n)
{
    string s;
    char c[3];
        
    if(press("X"))
    {
        s.push_back('X');
            
        c[0] = 'A';
        c[1] = 'B';
        c[2] = 'Y';
    }
    else if(press("A"))
    {
        s.push_back('A');
            
        c[0] = 'X';
        c[1] = 'B';
        c[2] = 'Y';
    }
    else if(press("B"))
    {
        s.push_back('B');
            
        c[0] = 'X';
        c[1] = 'A';
        c[2] = 'Y';
    }
    else
    {
        s.push_back('Y');
            
        c[0] = 'X';
        c[1] = 'A';
        c[2] = 'B';
    }
        
    string newS;
    for(int i = 2; i < n; i++)
    {
        newS = "";
            
        s.push_back(c[0]);
        for(int j = 0; j < 3; j++)
        {
            s.push_back(c[j]);
            newS += s;
            s.pop_back();
        }
            
        s.pop_back();
        s.push_back(c[1]);
            
        newS += s;
            
        s.pop_back();
            
        int ans = press(newS);
            
        if(ans == i + 1)
            s.push_back(c[0]);
        else if(ans == i)
            s.push_back(c[1]);
        else
            s.push_back(c[2]);
    }
        
    s.push_back(c[0]);
    if(press(s) != n)
    {
    	s.pop_back();
        s.push_back(c[1]);
        if(press(s) != n)
        {
            s.pop_back();
            s.push_back(c[2]);
        }
    }
        
    return s;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...