Advertisement
juanjo12x

UVA_195_Anagram

Aug 14th, 2014
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.33 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #include <cstring>
  5. #include <string>
  6. #include <cctype>
  7. #include <stack>
  8. #include <queue>
  9. #include <list>
  10. #include <vector>
  11. #include <map>
  12. #include <set>
  13. #include <sstream>
  14. #include <stdlib.h>
  15. #include <cmath>
  16. #define FOR(i,A) for(typeof (A).begin() i = (A).begin() ; i != (A).end() ; i++)
  17. #define mp make_pair
  18. #define debug( x ) cout << #x << " = " << x << endl
  19. #define clr(v,x) memset( v, x , sizeof v )
  20. #define all(x) (x).begin() , (x).end()
  21. #define rall(x) (x).rbegin() , (x).rend()
  22. #define TAM 110
  23. using namespace std;
  24. typedef pair<int,int> ii ;
  25. typedef long long ll ;
  26. typedef long double ld ;
  27. typedef pair<int,ii> pii ;
  28. char cad[1000];char cad1[1000];
  29. bool cmp(const char &a, const char &b)
  30. {
  31.     if(isupper(a) && islower(b) && a!=toupper(b)){
  32.         return (tolower(a)<b);
  33.     }else if(isupper(b)&& islower(a) && toupper(a)!=b){
  34.          return (a<tolower(b));
  35.     }else {
  36.         return (a<b);
  37.     }
  38. }
  39. int main() {
  40.    int t;scanf("%d",&t);getchar();
  41.    for(int i=0;i<t;i++){
  42.     gets(cad);int n=strlen(cad);
  43.     strcpy (cad1,cad);
  44.     sort(cad,cad+n,cmp);bool entro=false;
  45.     //int vez=1;
  46.     do{
  47.        printf("%s\n",cad);
  48.  
  49.     }while(next_permutation(cad,cad+n,cmp));
  50.     cad1[n]='\0';cad[n]='\0';
  51.     //if(!entro) {printf("\n");}
  52.  
  53.    }
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement