题意:生成所给字符串的全排列。
题解:利用STL 全排一下字符串 然后要偷懒的话就用STL的next_permutation,不偷懒的话可以用递归DFS枚举出全排列。
代码:
/*
uva:Generating Fast, Sorted Permutation
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
char GStr[10+5]={'\0'};
int GStrLen=0;
int N=0;
/*for test*/
int test()
{
return(0);
}
/*main process*/
int MainProc()
{
scanf("%d",&N);
while(N--)
{
scanf("%s",GStr);
GStrLen=strlen(GStr);
sort(GStr,GStr+GStrLen);
do
{
printf("%s\n",GStr);
}while(next_permutation(GStr,GStr+GStrLen));
printf("\n");
}
return(0);
}
int main()
{
MainProc();
return(0);
}