제출 #1216413

#제출 시각아이디문제언어결과실행 시간메모리
1216413moondarkside콤보 (IOI18_combo)C++20
100 / 100
7 ms516 KiB
#include <iostream>
#include<bits/stdc++.h>
using namespace std;

int press(string p);


char text[]={'A','B','X','Y'};

string guess_sequence(int N){
    string ForNow;
    
    if(press("AB")!=0){
        if(press("A")!=0){
            ForNow="A";
        }
        else{
            ForNow="B";
        }
    }
    else{
        if(press("X")!=0){
            ForNow="X";
        }
        else{
            ForNow="Y";
        }
    }
    
    char Banned=ForNow[0];
    
    std::vector<char> NewText;
    for(int i=0;i<4;i++){
        if(text[i]!=Banned){
            NewText.push_back(text[i]);
        }
    }
    
    if(N==1){
        return ForNow;
    }
    
    while(ForNow.size()<N-1){
        string Send;
        Send+=ForNow+NewText[0]+ForNow+NewText[1]+NewText[0]+ForNow+NewText[1]+NewText[1]+ForNow+NewText[1]+NewText[2];
        int score=press(Send);
        if(score==ForNow.size()){
            ForNow.push_back(NewText[2]);
        }
        else if(score==ForNow.size()+1){
            ForNow.push_back(NewText[0]);
        }
        else{
            ForNow.push_back(NewText[1]);
        }
        
    }
    
    if(press(ForNow+NewText[0]+ForNow+NewText[1])!=N){
        ForNow+=NewText[2];
        return ForNow;
    }
    
    if(press(ForNow+NewText[1])!=N){
        ForNow+=NewText[0];
        return ForNow;
    }
    ForNow+=NewText[1];
    return ForNow;
    
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...