Submission #566329

#TimeUsernameProblemLanguageResultExecution timeMemory
566329elazarkoren콤보 (IOI18_combo)C++17
30 / 100
53 ms456 KiB
#include <bits/stdc++.h> #include "combo.h" #define x first #define y second #define all(v) v.begin(), v.end() #define chkmin(a, b) a = min(a, b) #define chkmax(a, b) a = max(a, b) using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vvi; typedef pair<int, int> pii; typedef vector<pii> vii; mt19937 rng(time(0)); //char letters[] = {'A', 'B', 'X', 'Y'}; string buttons[] = {"A", "B", "X", "Y"}; string guess_sequence(int n) { string p = ""; if (press("AB") >= 1) { if (press("A") >= 1) p.push_back('A'); else p.push_back('B'); } else { if (press("X") >= 1) p.push_back('X'); else p.push_back('Y'); } vector<string> letters; for (string s : buttons) { if (s[0] != p[0]) letters.push_back(s); } for (int i = 1; i < n; i++) { shuffle(all(letters), rng); string curr = p + letters[0] + p + letters[1]; if (press(curr) >= i + 1) { curr = p + letters[0]; if (press(curr) >= i + 1) p += letters[0]; else p += letters[1]; } else { p += letters[2]; // curr = p + "X"; // if (press(curr) >= i + 1) p.push_back('X'); // else p.push_back('Y'); } // for (char c : letters) { // if (i && c == p[0]) continue; // p.push_back(c); // if (press(p) == p.size()) break; // p.pop_back(); // } } return p; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...