Easy to understand soln


#1

set s;

void rec(string A,int B){
if(B==0){s.insert(A);return;}
for(int i=0;i<A.size();i++){
for(int j=i;j<A.size();j++){
swap(A[i],A[j]);
rec(A,B-1);
swap(A[i],A[j]);
}
}
}

string Solution::solve(string A, int B) {
s.clear();
rec(A,B);
auto it=s.end();
it–;
return *it;
}