Submission #414074

#TimeUsernameProblemLanguageResultExecution timeMemory
414074arnevesCombo (IOI18_combo)C++17
100 / 100
40 ms624 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; typedef long long ll; #define pb push_back #define f first #define s second #define all(x) x.begin(), x.end() const int MOD = 1'000'000'007; const int MX = 400'005; //long double PI = 3.14159265358979323846264338327950; const string k="ABXY"; int pergunta(string s){ int ans=0; int r=press(s+k[0]+s+k[1]); if(r==(int)s.length())ans+=2; r=press(s+k[0]+s+k[2]); if(r==(int)s.length())ans+=1; return ans; } string guess_sequence(int N) { int id[4]; string ans; for(int i=0; i<4; i++) id[i]=i; int y=pergunta(""); ans+=k[y]; if(N==1) return ans; swap(id[y],id[3]); for(int i=1; i<N-1; i++){ string perg; perg+=ans+k[id[1]]; perg+=ans+k[id[2]]+k[id[0]]; perg+=ans+k[id[2]]+k[id[1]]; perg+=ans+k[id[2]]+k[id[2]]; y=press(perg); if(y==(int)ans.length()){ ans+=k[id[0]]; }else if(y==(int)ans.length()+1){ ans+=k[id[1]]; }else{ ans+=k[id[2]]; } } y=pergunta(ans); ans+=k[y]; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...