제출 #569432

#제출 시각아이디문제언어결과실행 시간메모리
569432NemanjaSo2005콤보 (IOI18_combo)C++14
5 / 100
2 ms220 KiB
#include "combo.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
char ps,slovo[5]={' ','A','B','X','Y'};
string tmp,nasli;
string guess_sequence(int N) {
   if(press("AB")){
      if(press("A"))
         ps='A';
      else
         ps='B';
   }
   else{
      if(press("X"))
         ps='X';
      else
         ps='Y';
   }
   for(int i=1;i<=3;i++){
      if(slovo[i]==ps){
         for(int j=i;j<=3;j++)
            slovo[j]=slovo[j+1];
         break;
      }
   }
   nasli.push_back(ps);
   for(int i=2;i<N;i++){
      tmp.clear();
      tmp+=nasli;
      tmp.push_back(slovo[1]);
      tmp.push_back(slovo[1]);
      tmp+=nasli;
      tmp.push_back(slovo[1]);
      tmp.push_back(slovo[2]);
      tmp+=nasli;
      tmp.push_back(slovo[1]);
      tmp.push_back(slovo[3]);
      tmp+=nasli;
      tmp.push_back(slovo[2]);
      int vred=press(tmp);
      if(vred==(int)nasli.size()+2)
         nasli.push_back(slovo[1]);
      else if(vred==(int)nasli.size()+1)
         nasli.push_back(slovo[2]);
      else
         nasli.push_back(slovo[3]);
   }
   tmp=nasli;
   tmp.push_back(slovo[1]);
   if(press(tmp)==N)
      return tmp;
   tmp=nasli;
   tmp.push_back(slovo[2]);
   if(press(tmp)==N)
      return tmp;
   nasli.push_back(slovo[3]);
   return nasli;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...