제출 #525698

#제출 시각아이디문제언어결과실행 시간메모리
525698Deepesson콤보 (IOI18_combo)C++17
100 / 100
30 ms788 KiB
#include <bits/stdc++.h> #include "combo.h" std::string guess_sequence(int N) { std::vector<char> letras = {'A','B','X','Y'}; std::vector<char> corpo; char primeirochar=0; { std::string a; a+=letras[0],a+=letras[1]; if(press(a)){ std::string b; b+=letras[0]; if(press(b)){ primeirochar=letras[0]; }else primeirochar=letras[1]; }else { std::string b; b+=letras[2]; if(press(b)){ primeirochar=letras[2]; }else primeirochar=letras[3]; } } for(auto&x:letras){ if(x!=primeirochar)corpo.push_back(x); } std::string atual; atual+=primeirochar; for(int i=1;i<N-1;++i){ std::string a,b,c,d; a=atual+corpo[0]; b=c=d=atual+corpo[1]; b+=corpo[0],c+=corpo[1],d+=corpo[2]; int q = press(a+b+c+d); int ganhou = q-atual.size(); if(!ganhou){ atual+=corpo[2]; }else if(ganhou==1){ atual+=corpo[0]; }else atual+=corpo[1]; } if(N>1) { std::string g,k; g=atual+corpo[0]; k=atual+corpo[1]; int b = press(g+k); if(b-atual.size()){ if(press(g)-atual.size()){ atual+=corpo[0]; }else atual+=corpo[1]; }else atual+=corpo[2]; } return atual; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...