#include<bits/stdc++.h>
using namespace std;
int query(string s);
set<pair<int,string>> enCours;
string toutPareil(char carac,int taille) {
string ans="";
for (int i=0;i<taille;i++) {
ans+=carac;
}
return ans;
}
string ajoute(char carac,string mot,int pos) {
string ans;
for (int i=0;i<pos;i++) {
ans+=mot[i];
}
ans+=carac;
for (int i=pos;i<(int)mot.size();i++) {
ans+=mot[i];
}
return ans;
}
bool contient(string mot) {
return query(mot)==(int)mot.size();
}
string guess(int n,int s) {
for (int i=0;i<s;i++) {
int nbMeme=query(toutPareil((int)'a'+i,n));
if (nbMeme>0) {
enCours.insert({nbMeme,toutPareil((int)'a'+i,nbMeme)});
}
}
while ((int)enCours.size()>1) {
auto it=enCours.begin();
string prem=(*it).second;
it=enCours.erase(it);
string deuz=(*it).second;
enCours.erase(it);
int posDeuz=0;
for (char c:prem) {
while (!contient(ajoute(c,deuz,posDeuz))) {
posDeuz++;
}
deuz=ajoute(c,deuz,posDeuz);
}
enCours.insert({deuz.size(),deuz});
}
auto it=enCours.begin();
return (*it).second;
}
| # | 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... |