Submission #1217984

#TimeUsernameProblemLanguageResultExecution timeMemory
1217984islam_2010Combo (IOI18_combo)C++20
94 / 100
7 ms484 KiB
#include <bits/stdc++.h> using namespace std; int press(string s); string guess_sequence(int n) { string s; string a[4]; if (press("AB")) { if (press("A")) { s = "A"; a[0] = "BB", a[1] = "BX", a[2] = "BY", a[3] = "X"; } else { s = "B"; a[0] = "AA", a[1] = "AX", a[2] = "AY", a[3] = "X"; } } else { if (press("X")) { s = "X"; a[0] = "BB", a[1] = "BA", a[2] = "BY", a[3] = "Y"; } else { s = "Y"; a[0] = "BB", a[1] = "BA", a[2] = "BX", a[3] = "X"; } } if (n == 1) { return s; } for (int i = 1; i < n - 1; i++) { if(s[0]=='A') { string ns = s + a[0] + s + a[1] + s + a[2] + s + a[3]; int x = press(ns); if (x == s.size()) { s += 'Y'; } else if (x == s.size() + 1) { s += 'X'; } else { s += 'B'; } }else if(s[0]=='B'){ string ns = s + a[0] + s + a[1] + s + a[2] + s + a[3]; int x = press(ns); if(x==s.size()){ s+="Y"; }else if(x==s.size()+1){ s+="X"; }else { s+="A"; } }else if(s[0]=='X'){ string ns = s + a[0] + s + a[1] + s + a[2] + s + a[3]; int x = press(ns); if(x==s.size()){ s+="A"; }else if(x==s.size()+1){ s+="Y"; }else { s+="B"; } }else { string ns = s + a[0] + s + a[1] + s + a[2] + s + a[3]; int x = press(ns); if(x==s.size()){ s+="A"; }else if(x==s.size()+1) { s+="X"; }else { s+="B"; } } } for (char c : {'A', 'B', 'X', 'Y'}) { if (press(s + c) == n) { s += c; break; } } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...