제출 #752550

#제출 시각아이디문제언어결과실행 시간메모리
752550vjudge1콤보 (IOI18_combo)C++17
0 / 100
1 ms208 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; /*int press(string s) { cout<<s<<endl; int x; cin>>x; return x; }*/ 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")-ans.size(); if(fi == 0){ int se = press(ans+"X")-ans.size(); if(se == 1) ans += "X"; else ans += "Y"; } else{ int se = press(ans+"A")-ans.size(); 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])-ans.size(); 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; } /*int main() { int n; cin>>n; cout<<guess_sequence(n); }*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...