基本类型的小于运算符是不能重载的

用错了后果可是很严重的哦……

还是用functor吧。

//PKU 1256 AC
//80K 140MS

#include
#include
#include

using namespace std;

string STR;

class Less_CHAR
{
 public:
  bool operator() (const char &a,const char &b) const
  {
    if ( toupper(a) == toupper(b) )
      return a < b;
    else
      return (toupper(a) < toupper(b));
  }
};

void Input()
{
  cin >> STR;
}

void Permutate()
{
  sort(STR.begin(),STR.end(),Less_CHAR());
  do
    {
      cout << STR << endl;
    }
  while (next_permutation(STR.begin(),STR.end(),Less_CHAR()));
}

int main()

{
  int i,iCase;
  cin >> iCase;
  for (i=0;i<iCase;++i)
    {
      Input();
      Permutate();
    }
  return 0;
}