//#include "grader.cpp"
#include "combo.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimize("Ofast,unroll-loops")
using namespace std;
using namespace __gnu_pbds;
#define pb push_back
#define all(x) x.begin(),x.end()
#define ar array
#define mrand(a, b) uniform_int_distribution<int>(a, b)(rng)
template<class T>bool umax(T &a,T b){if(a<b){a=b;return true;}return false;}
template<class T>bool umin(T &a,T b){if(b<a){a=b;return true;}return false;}
template<class T> using ste = tree<T, null_type, less_equal<T>,
rb_tree_tag, tree_order_statistics_node_update>;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
const long long inf = 1e17 + 7;
const int mod = 1e9 + 7;
const int N = 1e7 + 5;
const int md = 998244353;
int binpow(int a, int b, int m){
if(b == 0)return 1;
if(b % 2 == 0){
int c = binpow(a,b/2,m);
return (c*c)%m;
}
return (binpow(a,b-1,m)*a)%m;
}
int divi(int a, int b, int m){
return (a*(binpow(b,m-2, m)))%m;
}
string guess_sequence(int N){
string str = "";
vector<char>v = {'A', 'B', 'X', 'Y'};
if(press("AB")){
if(press("A")){
v.erase(v.begin(), v.begin()+1);
str += 'A';
}
else {
v.erase(v.begin()+1, v.begin()+2);
str += 'B';
}
}
else{
if(press("X")){
v.erase(v.begin()+2, v.begin()+3);
str += 'X';
}
else {
v.erase(v.begin()+3, v.begin()+4);
str += 'Y';
}
}
// for(auto to:v)cout << to << " ";
// cout << "\n";
for(int i = 2;i<N;i++){
string s = str;
s += v[0];
for(auto to:v){
s += str;
s += v[1];
s += to;
}
int a = press(s);
if(a == i){
str += v[0];
}
if(a == i + 1){
str += v[1];
}
if(a == i - 1){
str += v[2];
}
}
if(N > 1){
str += v[0];
if(press(str) == N)return str;
str.pop_back();
str += v[1];
if(press(str) == N)return str;
str.pop_back();
str += v[2];
}
// cout << str << "\n";
return str;
}
/*
7
0 2 1
6 2 1
7 2 1
12 2 1
14 2 1
18 2 1
21 2 1
10
1
2
3
4
5
6
7
8
9
10
*/
/*signed main()
{
// freopen("seq.in", "r", stdin);
// freopen("seq.out", "w", stdout);
ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
int tt=1;// cin >> tt;
while(tt--)solve();
''
'=/ l.;=p v
0, \
v
v\
\v\\]
;[ 8 ]
}*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |