제출 #704835

#제출 시각아이디문제언어결과실행 시간메모리
704835ngano_upat_na콤보 (IOI18_combo)C++17
5 / 100
1 ms208 KiB
#include "bits/stdc++.h" #include "combo.h" using namespace std; string guess_sequence(int N) { string ans; char start = 'Y'; int a = press("AB"); if (a >= 1) { a = press("B"); if (a == 1) { start = 'B'; } else { start = 'A'; } } else { a = press("X"); if (a == 1) { start = 'X'; } else { start = 'Y'; } } if (start == 'A') { ans = "A"; for (int i=1; i<N-1; i++) { string A = ans + "B"; string B = ans + "XB"; string C = ans + "XY"; string D = ans + "XX"; A = A + B + C + D; a = press(A); if (a == i) { ans = ans + "Y"; } if (a == i+1) { ans = ans + "B"; } if (a >= i+2) { ans = ans + "X"; } } string X = ans + "X"; string Y = ans + "Y"; string add = X + Y; a = press(add); if (a == N) { a = press(X); if (a == N) { ans = X; } else { ans = Y; } } else { ans = ans + "B"; } } if (start == 'B') { ans = "B"; for (int i=1; i<N-1; i++) { string A = ans + "A"; string B = ans + "XA"; string C = ans + "XY"; string D = ans + "XX"; A = A + B + C + D; a = press(A); if (a == i) { ans = ans + "Y"; } if (a == i+1) { ans = ans + "A"; } if (a >= i+2) { ans = ans + "X"; } } string X = ans + "X"; string Y = ans + "Y"; string add = X + Y; a = press(add); if (a == N) { a = press(X); if (a == N) { ans = X; } else { ans = Y; } } else { ans = ans + "A"; } } if (start == 'X') { ans = "X"; for (int i=1; i<N-1; i++) { string A = ans + "B"; string B = ans + "AB"; string C = ans + "AY"; string D = ans + "AA"; A = A + B + C + D; a = press(A); if (a == i) { ans = ans + "Y"; } if (a == i+1) { ans = ans + "B"; } if (a >= i+2) { ans = ans + "A"; } } string X = ans + "A"; string Y = ans + "Y"; string add = X + Y; a = press(add); if (a == N) { a = press(X); if (a == N) { ans = X; } else { ans = Y; } } else { ans = ans + "B"; } } if (start == 'Y') { ans = "Y"; for (int i=1; i<N-1; i++) { string A = ans + "B"; string B = ans + "XB"; string C = ans + "XA"; string D = ans + "XX"; A = A + B + C + D; a = press(A); if (a == i) { ans = ans + "A"; } if (a == i+1) { ans = ans + "B"; } if (a >= i+2) { ans = ans + "X"; } } string X = ans + "X"; string Y = ans + "A"; string add = X + Y; a = press(add); if (a == N) { a = press(X); if (a == N) { ans = X; } else { ans = Y; } } else { ans = ans + "B"; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...