제출 #1249224

#제출 시각아이디문제언어결과실행 시간메모리
1249224nguyn콤보 (IOI18_combo)C++20
100 / 100
7 ms520 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; #define ll long long #define F first #define S second #define pb push_back #define pii pair<int, int> const int N = 1e6; int press(string s); string guess_sequence(int N) { string res = ""; vector<char> c = {'A', 'B', 'X', 'Y'}; if (press("AB")) { if (press("A")) { res += "A"; } else res += "B"; } else { if (press("X")) { res += "X"; } else res += "Y"; } if (N == 1) { return res; } c.erase(find(c.begin(), c.end(), res[0])); for (int i = 1; i <= N - 2; i++) { string ask = res; ask.pb(c[2]); ask.pb(c[1]); ask = ask + res; ask.pb(c[2]); ask.pb(c[0]); ask = ask + res; ask.pb(c[2]); ask.pb(c[2]); ask = ask + res; ask.pb(c[1]); int x = press(ask); res += c[x - i]; // cout << ask << '\n'; // cout << res << '\n'; } if (press(res + "A" + res + "B") == N) { if (press(res + "A") == N) { res += "A"; } else res += "B"; } else { if (press(res + "X") == N) { res += "X"; } else { res += "Y"; } } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...