您的位置:首页 > 其它

poj 1256 Anagram

2013-07-27 11:05 253 查看
链接:点击打开链接

也是对next_permutation()的运用。。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
bool cmp(const char &a, const char &b)
{
if(a<='Z' && a>='A' && b<='Z' && b>='A')
return a<b;
if(a<='z' && a>='a' && b<='z' && b>='a')
return a<b;
if(a<='Z' && a>='A' && b<='z' && b>='a')
return a+'a'-'A'<=b;
if(a<='z' && a>='a' && b<='Z' && b>='A')
return a<b+'a'-'A';
}
int main(){
char a[20];
int i,len,n;
scanf("%d",&n);
while(n--){
scanf("%s",a);
len=strlen(a);
sort(a,a+len,cmp);
do{
printf("%s\n",a);
}while(next_permutation(a,a+len,cmp));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: