poj1256 Anagram (next_permutation())
2016-01-09 18:52
417 查看
题意:按照它规定的字典序 'A'<'a'<'B'<'b'<...<'Z'<'z'. 对一个字符串,输出它的全排列。
思路:学会使用next_permutation()中cmp自定义,全排列的规则。以前只知道sort()可以cmp重新定义,排序的标准,今天补充next_premutation也有。
注意这里,定义 大写字母字典序小于小写字母,所以cmp函数当地一个参数为小写字母时,不能取等于号。
思路:学会使用next_permutation()中cmp自定义,全排列的规则。以前只知道sort()可以cmp重新定义,排序的标准,今天补充next_premutation也有。
注意这里,定义 大写字母字典序小于小写字母,所以cmp函数当地一个参数为小写字母时,不能取等于号。
#include <fstream> #include <iostream> #include <string> #include <cstring> #include <complex> #include <math.h> #include <set> #include <vector> #include <map> #include <queue> #include <stdio.h> #include <stack> #include <algorithm> #include <list> #include <ctime> #include <ctime> #include <assert.h> #define rep(i,a,n) for (int i=a;i<n;i++) #define per(i,a,n) for (int i=n-1;i>=a;i--) #define pb push_back #define mp make_pair #define all(x) (x).begin(),(x).end() #define fi first #define se second #define eps 1e-8 #define M_PI 3.141592653589793 typedef long long ll; const ll mod=1000000007; const int inf=0x7fffffff; ll powmod(ll a,ll b) {ll res=1;a%=mod;for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;} char a[50]; using namespace std; bool cmp(char a,char b) { if((a>='a'&&a<='z'&&b>='a'&&b<='z')||(a>='A'&&a<='Z'&&b>='A'&&b<='Z')) return a<b; else if(a>='a'&&a<='z'&&b>='A'&&b<='Z') return a<b+32; else if(a>='A'&&a<='Z'&&b>='a'&&b<='z') return a+32<=b; } int main() { int n;scanf("%d",&n); while(n--){ scanf("%s",a); int len=strlen(a); sort(a,a+len,cmp); cout<<a<<endl; while(next_permutation(a,a+len,cmp)){ cout<<a<<endl; } } }
相关文章推荐
- 响应windows原生消息和自定义消息
- delegate、传值、跳转页面
- 阅读源码策略之我见
- servlet的使用
- Android 改变屏幕亮度时需添加权限
- 实例讲解js验证表单项是否为空的方法
- ubuntu下安装phpstudy环境记录
- Linux错误代码含义/Linux return Error Code
- 如何通过java代码解析xml文件
- WEB前端知识在乱花渐欲迷人眼的当下,如何分清主次和学习优先级呢?
- css3 的content 属性
- Play FrameWork javax.persistence.OptimisticLockException: Data has changed.
- POJ-2353 Ministry(动态规划)
- - #import、#include和@class有什么区别
- POJ-2353 Ministry(动态规划)
- 一个java程序员自学IOS开发之路(十四)
- Thankpad T450功能键(F1-F12)设置
- nodejs+express 4.x笔记
- DirectUI的初步分析
- 游戏世界坐标转化为UGUI屏幕坐标