Submission #1200448

#TimeUsernameProblemLanguageResultExecution timeMemory
1200448nekolieCombo (IOI18_combo)C++20
100 / 100
7 ms484 KiB
// When she's prettier than any DP you've ever seen... #include "combo.h" #include <bits/stdc++.h> using namespace std; string guess_sequence(int n) { string odp; int m = 0, x = press("AB"); if (x == 0) { x = press("X"), m++; if (x == 1) odp += 'X'; else odp += 'Y'; } else { x = press("A"), m++; if (x == 1) odp += 'A'; else odp += 'B'; } while (m+2 <= n) { if (odp[0] == 'A') { x = press(odp+"BB"+odp+"BX"+odp+"BY"+odp+"X"); if (x == m) odp += 'Y'; else if (x == m+1) odp += 'X'; else odp += 'B'; } else if (odp[0] == 'B') { x = press(odp+"AA"+odp+"AX"+odp+"AY"+odp+"X"); if (x == m) odp += 'Y'; else if (x == m+1) odp += 'X'; else odp += 'A'; } else if (odp[0] == 'X') { x = press(odp+"AA"+odp+"AB"+odp+"AY"+odp+"B"); if (x == m) odp += 'Y'; else if (x == m+1) odp += 'B'; else odp += 'A'; } else { x = press(odp+"BB"+odp+"BX"+odp+"BA"+odp+"X"); if (x == m) odp += 'A'; else if (x == m+1) odp += 'X'; else odp += 'B'; } m++; } if (m == n-1) { if (odp[0] == 'A') { x = press(odp+"B"); if (x == n) odp += 'B'; else { x = press(odp+"X"); if (x == n) odp += 'X'; else odp += 'Y'; } } else if (odp[0] == 'B') { x = press(odp+"A"); if (x == n) odp += 'A'; else { x = press(odp+"X"); if (x == n) odp += 'X'; else odp += 'Y'; } } else if (odp[0] == 'X') { x = press(odp+"A"); if (x == n) odp += 'A'; else { x = press(odp+"B"); if (x == n) odp += 'B'; else odp += 'Y'; } } else { x = press(odp+"B"); if (x == n) odp += 'B'; else { x = press(odp+"X"); if (x == n) odp += 'X'; else odp += 'A'; } } } return odp; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...