Submission #1185544

#TimeUsernameProblemLanguageResultExecution timeMemory
1185544orgiloogiiCombo (IOI18_combo)C++20
0 / 100
0 ms408 KiB
#include <bits/stdc++.h> using namespace std; int press(string p); string guess_sequence(int N) { string p = ""; string ans = ""; for (int i = 0; i < N; ++i) { p += 'A'; } int coins = press(p); char v0; if (coins) { ans += 'A'; v0 = 'A'; } else { for (int i = 0; i < N; ++i) { p += 'B'; } coins = press(p); if (coins) { ans += 'B'; v0 = 'B'; } else { for (int i = 0; i < N; ++i) { p += 'X'; } coins = press(p); if (coins) { ans += 'X'; v0 = 'X'; } else { ans += 'Y'; v0 = 'Y'; } } } while (ans.size() < N - 1) { p.clear(); if (v0 == 'A') p = ans + "B" + "X" + ans + "B" + "Y" + ans + "B" + "B" + ans + "X"; if (v0 == 'B') p = ans + "A" + "X" + ans + "A" + "Y" + ans + "A" + "A" + ans + "X"; if (v0 == 'X') p = ans + "A" + "Y" + ans + "A" + "B" + ans + "A" + "A" + ans + "Y"; if (v0 == 'Y') p = ans + "A" + "X" + ans + "A" + "B" + ans + "A" + "A" + ans + "X"; int coins = press(p); if (coins == 3) { if (v0 == 'A') ans += 'B'; if (v0 == 'B') ans += 'A'; if (v0 == 'X') ans += 'A'; if (v0 == 'Y') ans += 'A'; } else if (coins == 2) { if (v0 == 'A') ans += 'X'; if (v0 == 'B') ans += 'X'; if (v0 == 'X') ans += 'Y'; if (v0 == 'Y') ans += 'X'; } else { if (v0 == 'A') ans += 'Y'; if (v0 == 'B') ans += 'Y'; if (v0 == 'X') ans += 'B'; if (v0 == 'Y') ans += 'Y'; } } if (v0 == 'A') { if (press(ans + 'B') == N) { return ans + 'B'; } else if (press(ans + 'X') == N) { return ans + 'X'; } return ans + 'Y'; } if (v0 == 'B') { if (press(ans + 'A') == N) { return ans + 'A'; } else if (press(ans + 'X') == N) { return ans + 'X'; } return ans + 'Y'; } if (v0 == 'X') { if (press(ans + 'B') == N) { return ans + 'B'; } else if (press(ans + 'A') == N) { return ans + 'A'; } return ans + 'Y'; } if (v0 == 'Y') { if (press(ans + 'B') == N) { return ans + 'B'; } else if (press(ans + 'X') == N) { return ans + 'X'; } return ans + 'A'; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...