#168. 全排列

全排列

题目描述

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

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

输入格式

输入包含一行一个由不同的小写字母组成的字符串 ss

输出格式

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

已知 S=s1s2...sk,T=t1t2...tkS = s_1s_2...s_k,T = t_1t_2...t_k,则 S<TS<T 等价于,存在 pp (1pk)(1≤p≤k),使得 s1=t1,s2=t2,,sp1=tp1,sp<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

数据规模与约定

对于全部的测试点,保证字符串 ss 的长度不超过 66