제출 #916888

#제출 시각아이디문제언어결과실행 시간메모리
916888_VIBECombo (IOI18_combo)C++17
0 / 100
1 ms344 KiB
#include "combo.h" #include<bits/stdc++.h> std::string guess_sequence(int N) { using namespace std; set<char> s={'A','X','B','Y'}; string ans; //guesing the first character // in three queries for(auto x:s){ string q; q+=x; if(press(q)==1){ s.erase(x); ans=q;break; } } //it means last character of set was our first element if(s.size()==4){ ans=to_string(*s.rbegin()); s.erase(*s.rbegin()); } if(N==1) return ans; vector<char> v={s.begin(),s.end()}; // ans contains prefix of my actual string for(int i=1;i<N-1;i++){ string q; //query at ith index(0 based) //lets say remaining three characters x,b,y // then i query for ans+xx+ans+xb+ans+xy+ans+y //if result==i then b appears // if result==i+2 then x appears // if result==i+1 then y appears for(int j=0;j<3;j++) q+=ans+v[0]+v[j]; q+=ans+v[1]; int res=press(q); if(res==i) ans+=v[2]; else if(res==i+2) ans+=v[0]; else ans+=v[1]; } string q=ans+v[0]; if(press(q)==N) return q; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...