#include <bits/stdc++.h>
using namespace std;
int query(string s);
string guess(int n, int s){
string tmp = "";
vector<int> val(s,0), vec;
for(int i = 0; i < s; i++){
while(true){
tmp += char(i+'a');
if((int)tmp.size() != query(tmp)) break;
if((int) tmp.size()==n) return tmp;
}
val[i] = tmp.size()-1;
if(val[i]) vec.push_back(i);
tmp = "";
}
sort(vec.begin(),vec.end(),[&](const int &a, const int &b)->bool{
return val[a] < val[b];
});
for(auto i : vec){
int m = tmp.size();
for(int j = 0; j < m;){
while(true){
tmp.insert(tmp.begin()+j,char(i+'a'));
j++; m++;
if(m!=query(tmp)) break;
if(m==n) return tmp;
}
j--,m--;
tmp.erase(tmp.begin()+j);
j++;
}
while(true){
tmp += char(i+'a');
m++;
if(m!=query(tmp)) break;
if(m==n) return tmp;
}
m--; tmp.pop_back();
}
return tmp;
}
| # | 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... |