g*******y 发帖数: 1930 | 1 #define MP(i,j) make_pair(i,j)
string s;
int n = s.size();
stack> stk;
void PopStack(){
stk.pop();
if(!stk.empty()){
swap(s[stk.top().first] , s[stk.top().second]);
stk.top().second++;
}
}
void permute(){
stk.push(MP(0,0));
pair x;
while(!stk.empty()){
if(stk.size()==n){
cout<
PopStack();
}else{
int |
|