#P176. 全排列

全排列

题目描述

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

输入格式

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

输出格式

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

字母序如下定义:

已知 S=s1s2skS = s_1 s_2 \ldots s_kT=t1t2tkT = t_1 t_2 \ldots t_k,则 S<TS < T 等价于,存在 pp1pk1 \le p \le k),使得 $s_1 = t_1, s_2 = t_2, \ldots, s_{p-1} = t_{p-1}, s_p < t_p$ 成立。

样例

abc
abc
acb
bac
bca
cab
cba

数据范围

  • 字符串长度 1n61 \le n \le 6
  • 本题目禁止使用 STL 及包含可以使用的相关调用