• Source
    1. #include<bits/stdc++.h>
    2.  
    3. using namespace std;
    4.  
    5. bool cmp(char a,char b)
    6. {
    7. if(tolower(a)==tolower(b))
    8. {
    9. return a<b;
    10. }
    11. return tolower(a)<tolower(b);
    12. }
    13.  
    14. int main()
    15. {
    16. int words,len;
    17.  
    18. char s[25];
    19.  
    20. scanf("%d",&words);
    21.  
    22. getchar();
    23.  
    24. while(words--)
    25. {
    26. gets(s);
    27.  
    28. len = strlen(s);
    29.  
    30. sort(s,s+len,cmp);
    31.  
    32. do
    33. {
    34. puts(s);
    35. }
    36. while(next_permutation(s,s+len,cmp));
    37.  
    38. }
    39. return 0;
    40. }