poj 1256 Anagram

http://poj.org/problem?id=1256

题意是说求出一个字符串的全排列,按字典序

需要注意的是字典序和传统意义上的字典序不同

重新定义了,A

需要自己重写cmp函数。

next_permutation好神....直接求出全排列.....

 1
 2    
 3    /* ***********************************************
 4    Author :111qqz
 5    Created Time :2016年02月19日 星期五 15时43分31秒
 6    File Name :code/poj/1256.cpp
 7    ************************************************ */
 8    
 9    #include <algorithm>
10    #include <cstdio>
11    #include <iostream>
12    #include <cstring>
13    #include <string>
14    #include <cmath>
15    #include <map>
16    
17    using namespace std;
18    bool cmp(char a,char b)
19    {
20        char x = tolower(a);
21        char y = tolower(b);
22        if (x==y)
23        {
24            return a<b;
25        }
26        else return x<y;
27    }
28    int n;
29    string st;
30    
31    int main()
32    {
33        cin>>n;
34        while (n--)
35        {
36    
37            cin>>st;
38            sort(st.begin(),st.end(),cmp);
39            do
40            {
41                cout<<st<<endl;
42            }while (next_permutation(st.begin(),st.end(),cmp));
43        }
44    
45    
46    	return 0;
47    }
48    
49