#3171. 全排列

全排列

题目描述

给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。

我们假设对于小写字母有‘a’ <‘b’ < ... <‘y’<‘z’,而且给定的字符串中的字母已经按照从小到大的顺序排列。

输入格式

只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。

输出格式

输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。字母序如下定义:

已知S=s1s2...sk,T=t1t2...tkS = s_1s_2...s_k,T = t_1t_2...t_k,则S<TS<T等价于,存在p(1pk)p(1 \leq p \leq k),使得s1=t1s2=t2sp1=tp1sp<tps_1=t_1,s_2=t_2,…,s_{p-1}=t_{p-1},s_p<t_p成立

样例

abc
abc
acb
bac
bca
cab
cba

约束

本题目建议禁止使用STL及包含可以使用的相关调用。

来源

一本通在线评测