제출 #998434

#제출 시각아이디문제언어결과실행 시간메모리
998434cnn008콤보 (IOI18_combo)C++17
10 / 100
39 ms1104 KiB
#include "bits/stdc++.h" #include "combo.h" using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int rand(int l, int r){ assert(l<=r); return uniform_int_distribution<int> (l,r)(rng); } string push_top(string &s, char c){ reverse(s.begin(),s.end()); s.push_back(c); reverse(s.begin(),s.end()); return s; } string pop_top(string &s){ reverse(s.begin(),s.end()); s.pop_back(); reverse(s.begin(),s.end()); return s; } string guess_sequence(int n) { char c[]={'A','B','X','Y'}; string s; while(1){ if((int)s.size()==n) break; bool f=0; vector <int> p(4); iota(p.begin(),p.end(),0); shuffle(p.begin(),p.end(),rng); for(int i=0; i<4; i++){ s.push_back(c[p[i]]); if(press(s)==(int)s.size()){ f=1; break; }else s.pop_back(); } if(!f) break; } while(1){ if((int)s.size()==n) break; bool f=0; for(int i=0; i<4; i++){ s=push_top(s,c[i]); if(press(s)==(int)s.size()){ f=1; break; }else s=pop_top(s); } if(!f) break; } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...