码迷,mamicode.com
首页 > 其他好文 > 详细

poj 1256 Anagram

时间:2015-07-03 06:53:51      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:

http://poj.org/problem?id=1256

题意是说求出一个字符串的全排列,按字典序

需要注意的是字典序和传统意义上的字典序不同

重新定义了,A<a<B<b的顺序

需要自己重写cmp函数。

next_permutation好神....直接求出全排列.....

#include <algorithm>
#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#include <map>

using namespace std;
bool cmp(char a,char b)
{
    char x = tolower(a);
    char y = tolower(b);
    if (x==y)
    {
        return a<b;
    }
    else return x<y;
}
int n;
string st;

int main()
{
    cin>>n;
    while (n--)
    {

        cin>>st;
        sort(st.begin(),st.end(),cmp);
        do
        {
            cout<<st<<endl;
        }while (next_permutation(st.begin(),st.end(),cmp));
    }


    return 0;
}

 

poj 1256 Anagram

标签:

原文地址:http://www.cnblogs.com/111qqz/p/4617577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!