USACO持续进不去中..好久没去POJ了~~就去随便抓了一个水题...这道题主要是又回顾了下next_permutation..原来next_permutation里可以加自写的cmp~~~
Program:
#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;
}