POJ-1256 Anagram
题意:给出一字符串,求出所有按字母顺序排序的全排列。
思路:STL库函数-next_permutation(),全排列函数。
题目链接:http://poj.org/problem?id=1256
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <string> 5 #include <algorithm> 6 #include <iostream> 7 using namespace std; 8 const int N=14; 9 10 char str[N]; 11 12 bool cmp(char c1,char c2){ 13 if(tolower(c1)==tolower(c2)) 14 return c1<c2; 15 else return tolower(c1)<tolower(c2); //toupper 转换为大写字母 16 } 17 18 int main(){ 19 20 // freopen("data.in","r",stdin); 21 // freopen("data.out","w",stdout); 22 23 int t; 24 scanf("%d",&t); 25 while(t--){ 26 scanf("%s",str); 27 int len=strlen(str); 28 sort(str,str+len,cmp); 29 do{ 30 printf("%s\n",str); 31 }while(next_permutation(str,str+len,cmp)); 32 } 33 return 0; 34 }