#include <bits/stdc++.h>
using namespace std;
int query(string s);
vector<int> ans;
pair<int,int> num[26];
void ins(int x, int pos){
for(int i=pos; i<(int)ans.size(); i++){
swap(ans[i],x);
}
ans.push_back(x);
}
string guess(int n, int s){
string tst;
for(int i=0; i<s; i++){
tst="";
for(int j=0; j<n; j++){
tst+=(char)('a'+i);
}
num[i]={query(tst),i};
}
sort(num,num+s);
for(int i=0; i<s; i++){
int chr=num[i].second,nom=num[i].first;
if(true){
int aft=0;
for(int k=0; k<nom; k++){
aft=0;
for(int j=0; j<i; j++){
tst="";
for(int a=0; a<=k; a++) tst+=(char)('a'+chr);
for(int a=k+1; a<n; a++) tst+=(char)('a'+num[j].second);
aft+=query(tst)-k-1;
}
ins(chr,(int)ans.size()-aft);
}
}
else{
}
}
tst="";
assert((int)ans.size()==n);
for(int i=0; i<n; i++) tst+=(char)('a'+ans[i]);
return tst;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |