题目大意:输出一个字符串的全排序,按升序输出。
解题思路:这和之前的两题都差不多,就是枚举排列,这里我用了next_permutation(s, s + len);原本没看到书上有提供直接调用来生成排列的函数。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int N = 15;
char s[N];
int n;
int main() {
scanf("%d", &n);
while(n--) {
scanf("%s", s);
int len = strlen(s);
sort(s, s + len);
do{
printf("%s\n", s);
}while(next_permutation(s, s + len));
printf("\n");
}
return 0;
}