제출 #750144

#제출 시각아이디문제언어결과실행 시간메모리
750144vjudge1Combo (IOI18_combo)C++17
0 / 100
1 ms208 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; string guess_sequence(int n) { string ans; int x = press("AB"); if(x == 0){ int se = press("X"); if(se == 1) ans += "X"; else ans += "Y"; } else{ int se = press("A"); if(se == 1) ans += "A"; else ans += "B"; } vector<string> c; if(ans != "A") c.push_back("A"); if(ans != "B") c.push_back("B"); if(ans != "X") c.push_back("X"); if(ans != "Y") c.push_back("Y"); int i = 1; while(i < n){ if(i == n-1){ int fi = press(ans+"AB"); if(fi == 0){ int se = press(ans+"X")-i; if(se == 1) ans += "X"; else ans += "Y"; } else{ int se = press(ans+"A")-i; if(se == 1) ans += "A"; else ans += "B"; } break; } int a = press(ans + c[0] + c[0] + ans + c[0] + c[1] + ans + c[1] + c[0])-i; if(a == 0){ ans += c[2]; } else if(a == 1){ int b = press(ans + c[1] + c[1])-i; if(b == 0) ans += c[0] + c[2]; else if(b == 1) ans += c[1] + c[2]; else ans += c[1] + c[1]; i++; } else{ int b = press(ans + c[0] + c[0])-i; if(b == 0) ans += c[1] + c[0]; else if(b == 1) ans += c[0] + c[1]; else ans += c[0] + c[0]; i++; } i++; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...