天天看点

POJ - 1256 再次熟悉next_permutation

   USACO持续进不去中..好久没去POJ了~~就去随便抓了一个水题...这道题主要是又回顾了下next_permutation..原来next_permutation里可以加自写的cmp~~~

#include<iostream>
#include<algorithm>
using namespace std;
int t,l;
char s[20];
bool cmp(char a,char b)
{ 
     if (a<'a' && b>='a')
     {
           a=a-'A'+'a';
           return a<=b;          
     }else
     if (b<'a' && a>='a')
     {
           b=b-'A'+'a';
           return a<b;              
     }    
     return a<b; 
}
int main()
{
     freopen("input.txt","r",stdin);
     freopen("output.txt","w",stdout);
     scanf("%d\n",&t);
     while (t--)
     {
          gets(s);
          l=strlen(s);
          sort(s,s+l,cmp); 
          do
          {
                puts(s);        
          }
          while (next_permutation(s,s+l,cmp));
     }
     return 0;   
}