Submission #1215341

#TimeUsernameProblemLanguageResultExecution timeMemory
1215341wazj2024Combo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include "combo.h" #include "bits/stdc++.h" using namespace std; string guess_sequence(int n) { string r; if (press("AB") > 0) { if (press("A") == 1) r = "A"; else r = "B"; } else { if (press("X") == 1) r = "X"; else r = "Y"; } vector<string> Auxiliar; if (r == "A") Auxiliar = {"B", "XB", "XX", "XY"}; else if (r == "B") Auxiliar = {"A", "XA", "XX", "XY"}; else if (r == "X") Auxiliar = {"A", "BA", "BB", "BY"}; else if (r == "Y") Auxiliar = {"A", "BA", "BB", "BX"}; for (int i = 1; i < n - 1; i++) { int Valor = press(r + Auxiliar[0] + r + Auxiliar[1] + r + Auxiliar[2] + r + Auxiliar[3]); switch (r[0]) { case 'A': if (Valor == i) r += 'Y'; else if (Valor == i + 1) r += 'B'; else if (Valor == i + 2) r += 'X'; break; case 'B': if (Valor == i) r += 'Y'; else if (Valor == i + 1) r += 'A'; else if (Valor == i + 2) r += 'X'; break; case 'X': if (Valor == i) r += 'Y'; else if (Valor == i + 1) r += 'A'; else if (Valor == i + 2) r += 'B'; break; case 'Y': if (Valor == i) r += 'X'; else if (Valor == i + 1) r += 'A'; else if (Valor == i + 2) r += 'B'; break; } } if (n > 1) { if (press(r + "A" + r + "B") == n) { if (press(r + "A") == n) r += "A"; else r += "B"; } else { if (press(r + "X") == n) r += "X"; else r += "Y"; } } return r; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...