poj 1256 Anagram

Posted by 111qqz on Thursday, July 2, 2015

TOC

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

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

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

重新定义了,A

需要自己重写cmp函数。

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

/* ***********************************************
Author :111qqz
Created Time :2016年02月19日 星期五 15时43分31秒
File Name :code/poj/1256.cpp
************************************************ */

#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;
}

「真诚赞赏,手留余香」

111qqz的小窝

真诚赞赏,手留余香

使用微信扫描二维码完成支付