This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#include "combo.h"
using namespace std;
#define INF 1e9
#define MAX 100005
#define xx first
#define yy second
#define pb push_back
#define mp make_pair
#define ull long long
#define FOR(i,a,b) for(int i=a;i<=b;i++)
#define nl '\n'
#define zai <<' '<<
#define all(a) a.begin(),a.end()
#define pc __builtin_popcount
#define debug(x) cerr << #x << " = " << (x) << ", "
typedef vector<int> vi;
typedef pair<int,int> ii;
typedef vector<ii> vii;
template<class C> void mini(C &_a, C _b) { _a = min(_a, _b); }
template<class C> void maxi(C &_a, C _b) { _a = max(_a, _b); }
int press(string p);
string guess_sequence(int n){
string ans;
char cant;
vector<char> v={'A','B','X','Y'};
int q1=press("AB");
if(q1){
if(press("A")){
ans+="A";
v.erase(v.begin());
}
else{
ans+="B";
v.erase(v.begin()+1);
}
}
else{
if(press("X")){
ans+="X";
v.erase(v.begin()+2);
}
else{
ans+="Y";
v.erase(v.begin()+3);
}
}
if(n==1)return ans;
for(int i=1;i<n-1;i++){
int q=press(ans+v[0]+v[0]+ans+v[0]+v[1]+ans+v[0]+v[2]+ans+v[1]);
int sz=ans.size();
if(q==sz){
ans+=v[2];
}
else if(q==sz+1){
ans+=v[1];
}
else if(q==sz+2){
ans+=v[0];
}
}
//if(n>1){
if(press(ans+v[0])==n){
ans+=v[0];
}
else if(press(ans+v[1])==n){
ans+=v[1];
}
else ans+=v[2];
// }
return ans;
}
Compilation message (stderr)
combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:27:7: warning: unused variable 'cant' [-Wunused-variable]
27 | char cant;
| ^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |