HUSTOJ
Home
ProblemSet
Source/Category
Contest
Status
Ranklist
F.A.Qs
Login
Register
1352: 全排列
内存限制:128 MB
时间限制:1.000 S
标准输入输出
题目类型:传统
评测方式:文本比较
上传者:
提交:8
通过:7
提交
提交记录
统计
Web Board
题目描述
给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。
我们假设对于小写字母有'a'<b'<…<y'<'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。
输入格式
输出只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。
输出格式
输出有n+1行
前n行
每行输出
这个字符串的一个排列。要求字母序比较小的排列在前面。
最后一行输出全排列的数目。
字母序如下定义:
已知S=s1s2…sk,T=t1t2…tk,则S<T等价于,存在p(1<=p<=k),使得sl=t1, s2=t2,…,Sp-1=tp-1,sp<tp成立。
输入样例
复制
abc
输出样例
复制
abc acb bac bca cab cba 6
数据范围与提示
全排列的每一个位置都有很多选择,需要尝试这些所有的选择。
另外,选择了一个需要标记一下,以免重复被选。一种排列完成后释放该标记以便下一种排列的组合。
递归终止条件:选到排列要求数目的字符
分类标签
递归回溯算法