Submission #1290194

#TimeUsernameProblemLanguageResultExecution timeMemory
1290194DangerNoodle7591Combo (IOI18_combo)C++20
5 / 100
1 ms400 KiB
#include <bits/stdc++.h>
using namespace std;
//#define lalala ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
//#define int long long int
//#define N 500005
//#define big 100000000000000000
//#define endl "\n"
#define pb push_back
//#define p push
//#define f first
//#define s second

int press(string p);
/*int press(string p){
    cout<<p<<endl;
    int a;cin>>a;
    return a;
}*/
char ilk(){
    string bas="AB";
    int deg=press(bas);
    if(deg==0){
        bas="X";
        deg=press(bas);
        if(deg)return 'X';
        return 'Y';
    }
    bas="A";
    deg=press(bas);
    if(deg)return 'A';
    return 'B';
}



string guess_sequence(int N){
    char x=ilk();
    string bas;
    bas.pb(x);
    string harf;
    //cout<<bas<<endl;
    if(x!='A')harf.pb('A');
    if(x!='B')harf.pb('B');
    if(x!='X')harf.pb('X');
    if(x!='Y')harf.pb('Y');
    for(int i=2;i<=N-1;i++){
        string yeni=bas;
        yeni.pb(harf[0]);
        for(auto u:bas)yeni.pb(u);
        yeni.pb(harf[1]);
        yeni.pb(harf[0]);
        for(auto u:bas)yeni.pb(u);
        yeni.pb(harf[1]);
        yeni.pb(harf[1]);
        for(auto u:bas)yeni.pb(u);
        yeni.pb(harf[1]);
        yeni.pb(harf[2]);
        int deg=press(yeni);
        if(deg==i-1){
            bas.pb(harf[2]);
        }
        else if(deg==i)bas.pb(harf[0]);
        else bas.pb(harf[1]);
        //cout<<bas<<endl;
        
    }
    string yeni=bas;
    yeni.pb(harf[0]);
    for(auto u:bas)yeni.pb(u);
    yeni.pb(harf[1]);
    if(press(yeni)==N-1){
        bas.pb(harf[2]);
        return bas;
    }
    yeni=bas;
    yeni.pb(harf[0]);
    if(press(yeni)==N)bas.pb(harf[0]);
    else bas.pb(harf[1]);
    return bas;
    
}
/*signed main() {
    //lalala;
    int n;cin>>n;
    string a=guess_sequence(n);
    cout<<a<<endl;
    
}
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...