Submission #1222151

#TimeUsernameProblemLanguageResultExecution timeMemory
1222151dianaCombo (IOI18_combo)C++20
5 / 100
0 ms408 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; const int C = 4; set<string> c = {"A", "X", "B", "Y"}; string X = "X", A = "A", B = "B", Y = "Y"; string ans = ""; void guess_first() { if(press(A+X) >= 1) { if(press(A)) ans += A; else ans += X; } else { if(press(Y)) ans += Y; else ans += B; } c.erase(ans); } void guess_next() { string a[3]; int i = 0; for(auto x: c) a[i++] = x; int k = ans.size(); string p = ans + a[0] + a[0] + ans + a[0] + a[1] + ans + a[0] + a[2] + ans + a[1]; int coins = press(p); if(coins == k+2) ans += a[0]; else if(coins == k+1) ans += a[1]; else ans += a[2]; } void guess_last(int n) { string a[3]; int i = 0; for(auto x: c) a[i++] = x; if(press(ans + a[0]) == n) ans += a[0]; else if(press(ans + a[1]) == n) ans += a[1]; else ans += a[2]; } string guess_sequence(int n) { guess_first(); for(int i=1; i<n-1; i++) guess_next(); guess_last(n); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...