제출 #1007105

#제출 시각아이디문제언어결과실행 시간메모리
1007105kebineCombo (IOI18_combo)C++17
0 / 100
0 ms344 KiB
#include <bits/stdc++.h>
using namespace std;
#define pii pair<ll,ll>
#define REP(i,x,y) for(ll i=x;i<=y;i++)
#define freeopen   freopen("input.txt","r",stdin); freopen("output.txt","w",stdout);
#define mod 1000000000
#define pb push_back
#define mk make_pair
#define ll long long
#define foor(x,vec) for(auto x:vec ){cout<<x<<" ";}
#define fi first
#define se second
#define MAXN 500069
#define lld long double
#define cha ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define ffl fflush(stdout)
#define sst string
#include <string>

std::string guess_sequence(int N);

int press(std::string p);

ll mvx[]={0,0,-1,1};
ll mvy[]={1,-1,0,0};
sst ts="ABXY";
int n;

string guess_sequence(int N){
    n=N;
    sst s="AB";
    int a=press(s);
    sst t="";
    char c='A';
    if(a){
        s="A";
        if(press(s)){
            t=t+"A";
            c='A';
        }
        else{
            t=t+"B";
            c='B';
        }
    }
    else{
        s="X";
        if(press(s)){
            t=t+"X";
            c='X';
        }
        else{
            t=t+"Y";
            c='Y';
        }
    }
    vector <char> vec;
    for(int i=0;i<4;i++){
        if(ts[i]!=c)
        vec.pb(ts[i]);
    }
    ll bf=1;
    for(int i=2;i<n;i++){
        sst p=t+vec[0]+t+vec[1]+vec[0]+t+vec[1]+vec[1]+t+vec[1]+vec[2];
        int val=press(p);
        if(val==bf){
            t=t+vec[2];
        }
        else if(val==bf+1){
            t=t+vec[0];
        }
        else{
            t=t+vec[1];
        }
        bf++;
    }
    s=t+"AB";
    a=press(s);
    if(a){
        s=t+"A";
        if(press(s)){
            t=t+"A";
            c='A';
        }
        else{
            t=t+"B";
            c='B';
        }
    }
    else{
        s="X";
        if(press(s)){
            t=t+"X";
            c='X';
        }
        else{
            t=t+"Y";
            c='Y';
        }
    }
    return t;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...