#include <iostream>
#include<algorithm>
#include <bits/stdc++.h>
using namespace std;
//给大家介绍一下 next_permutation这个函数,C++中STl的函数,用他要用<algorithm>,但是如果用万能头文件也可以
//会对输入的字母数字字符等 进行全排列,如果存在下一个 顺序,就会返回1,如果找不到下一个顺序,就返回0
//通过配合do{}while(next_permutation) 的循环,可以打印全排列
int main()
{
int a;
string str;
cin>>str;
sort(str.begin(),str.end());//按照ASCII值从小到达排序
do{
cout<<str<<endl;
a=next_permutation(str.begin(),str.end());
cout<<a<<endl;
}while(a);
return 0;
}
输入abcd和!@#,自己试试吧!