제출 #349119

#제출 시각아이디문제언어결과실행 시간메모리
349119spike1236콤보 (IOI18_combo)C++14
0 / 100
1 ms200 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; #define pb push_back #define mp make_pair #define f first #define s second #define ll long long #define ld long double #define all(_v) _v.begin(), _v.end() #define sz(_v) (int)_v.size() #define pii pair <int, int> #define pll pair <ll, ll> #define veci vector <int> #define vecll vector <ll> bool check(char x) { string s = ""; s += x; int cnt = press(s); if(cnt > 1 || !cnt) return 0; return 1; } string guess_sequence(int n) { string cur = ""; set <char> st; st.insert('A'); st.insert('B'); st.insert('X'); st.insert('Y'); if(check('A')) cur = "A", st.erase('A'); else if(check('B')) cur = "B", st.erase('B'); else if(check('X')) cur = "X", st.erase('X'); else cur = "Y", st.erase('Y'); auto it = st.begin(); vector <char> a; a.pb(*it); ++it; a.pb(*it); ++it; a.pb(*it); for(int i = 1; i < n; ++i) { veci was(3); for(int j = 0; j < 2; ++j) { int key = rand() % 3; while(was[key]) key = rand() % 3; if(press(cur + a[key]) == i + 1) { cur += a[key]; break; } was[key] = 1; } } return cur; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...