제출 #1311314

#제출 시각아이디문제언어결과실행 시간메모리
1311314tschav_콤보 (IOI18_combo)C++20
0 / 100
1 ms332 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; string guess_sequence(int N) { if(N==1){ string s1 = "A"; if(press(s1)==1) return s1; string s2 = "B"; if(press(s2)==1) return s2; string s3 = "X"; if(press(s3)==1) return s3; return "Y"; } string s1 = "ABACAXB"; string s2(N, 'C'); char init; int a1 = press(s1); if(a1 == 2) init = 'A'; if(a1 == 1) init = 'B'; int a2 = press(s2); if(a2) init = 'C'; else init = 'Y'; string S(N, init); string last = ""; last += init; set<char> st; st.insert('A'); st.insert('B'); st.insert('X'); st.insert('Y'); st.erase(init); char c[3]; int ptr = 0; for(auto &ch : st) { c[ptr++] = ch; } for(int i = 1; i+1 < N; i++) { string Q; Q += last; Q += c[0]; Q += last; Q += c[1]; Q += c[0]; Q += last; Q += c[1]; Q += c[1]; Q += last; Q += c[1]; Q += c[2]; int res = press(Q); if(res == last.size()+1){ S[i] = c[0]; last += c[0]; }else if(res == last.size()+2){ S[i] = c[1]; last += c[1]; }else{ S[i] = c[2]; last += c[2]; } } string Q = last + c[0]; int res = press(Q); if(res == last.size()+1){ S[N-1] = c[0]; }else{ Q = last + c[1]; res = press(Q); if(res == last.size()+1){ S[N-1] = c[1]; }else{ S[N-1] = c[2]; } } return S; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...