제출 #1305181

#제출 시각아이디문제언어결과실행 시간메모리
1305181kaloyan콤보 (IOI18_combo)C++20
0 / 100
1 ms332 KiB
#include <iostream> #include <algorithm> #include <vector> #include <string> #include <cassert> using namespace std; inline bool operator == (string &a, string &b) { if(a.size() != b.size()) return 0; for(int i = 0 ; i < a.size() ; ++i) { if(a[i] != b[i]) { return 0; } } return 1; } 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"; 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 = i; if (ans == len + 1) ans += letters[0]; else if (ans == len + 2) ans += letters[1]; else ans += letters[2]; } 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(res.size() == 1); return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...