Submission #1187692

#TimeUsernameProblemLanguageResultExecution timeMemory
1187692nouka28Combo (IOI18_combo)C++20
5 / 100
0 ms420 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; // #define int long long #define rep(i,n) for(int i=0;i<(n);i++) #define rng(i,l,r) for(int i=(l);i<(r);i++) #define rrep(i,n) for(int i=(n)-1;i>=0;i--) #define rrng(i,l,r) for(int i=(r)-1;i>=(l);i--) #define fi first #define se second #define all(x) (x).begin(),(x).end() random_device rd; mt19937 mt(rd()); uniform_int_distribution<int> rnd(0,1000000000); int randint(int a,int b){ return a+rnd(mt)%(b-a+1); } std::string guess_sequence(int N) { string ans=""; { int x=press("AB"); if(x){ if(press("A"))ans="A"; else ans="B"; }else{ if(press("X"))ans="X"; else ans="Y"; } } string t="ABXY"; t.erase(find(all(t),ans[0])); rep(i,N-2){ string s=ans+t[0]+ans+t[1]+t[0]+ans+t[1]+t[1]+ans+t[1]+t[2]; int x=press(s); if(x==i+1)ans+=t[2]; else if(x==i+2)ans+=t[0]; else ans+=t[1]; } // cout<<"ans : "<<ans<<endl; if(press(ans+t[0])==N)return ans+t[0]; else if(press(ans+t[1])==N)return ans+t[1]; else return ans+t[2]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...