POJ 1256 全排列函数

来源:互联网 发布:朴素贝叶斯算法例子 编辑:程序博客网 时间:2024/06/06 03:19

题目要求是按照给出的字母顺序进行全排列并非是ASCII的顺序 可以用STL的全排列函数 这道题可以对全排列函数有更深一步的理解 那就是构造cmp函数等同sort一样 给出明确的大小顺序就可以比较

#include <iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;int cmp(char a,char b){    if(a>='a'&&b>='a')    return a<b;    if(a<='Z'&&b<='Z')    return a<b;    if(a>='a'&&b<='Z')    return a<b+32;    if(a<='Z'&&b>='a')    return a+32<=b;}int main(){    char c[15];int len,t;    scanf("%d",&t);    while(t--)    {        scanf("%s",c);        len=strlen(c);        sort(c,c+len,cmp);        do        puts(c);        while(next_permutation(c,c+len,cmp));    }    return 0;}



原创粉丝点击