100 #B1199. 全排列

全排列

题目描述

给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有 'a' < 'b' < ... < 'y' < 'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。

输入

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

输出

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

已知$( S = s_1s_2...s_k ),( T = t_1t_2...t_k ),则( S < T )$等价于,存在(p(1<=p<=k))( p(1 <= p <= k) ),使得$( s_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及包含可以使用的相关调用。