제출 #1305185

#제출 시각아이디문제언어결과실행 시간메모리
1305185kaloyan콤보 (IOI18_combo)C++20
94 / 100
9 ms484 KiB
#include <iostream> #include <algorithm> #include <vector> #include <string> #include <cassert> using namespace std; int press(string p); string guess_sequence(int N) { string res = ""; string letters = ""; if (press("A")) res = "A"; else if (press("B")) res = "B"; else if (press("X")) res = "X"; else res = "Y"; if (N == 1) return res; for(string s : {"A", "B", "X", "Y"}) { if(s == res) continue; letters += s; } assert(letters.size() == 3); for(int i = 1 ; i < N - 1 ; ++i) { int ans = press(res + letters[0] + res + letters[1] + letters[0] + res + letters[1] + letters[1] + res + letters[1] + letters[2]); int len = (int)res.size(); if (ans == len) res += letters[2]; else if (ans == len + 1) res += letters[0]; else res += letters[1]; } if (press(res + "A") == N) res += "A"; else if (press(res + "B") == N) res += "B"; else if (press(res + "X") == N) res += "X"; else res += "Y"; assert((int)res.size() == N); return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...