有重复元素的排列

提交数: 1110, 通过率: 42.7%, 平均分: 62.09

题目描述:

设 \( R = \{  r_1, r_2, \dots \ , r_n \} \) 是要进行排列的 \( n \) 个元素。其中元素 \( r_1, r_2, \dots \ , r_n \) 均为小写字母并且可能相同。试设计一个算法,列出 \( R \) 的所有不同排列。

给定 \( n \)  以及待排列的 \( n \) 个元素。计算出这 \( n \) 个元素的所有不同排列。

输入格式:

第1 行是元素个数 \( n \) ,\( 1 \le n \le 500 \) 。接下来的 \( 1 \) 行是待排列的 \( n \) 个元素。

输出格式:

计算出的 \( n \) 个元素的所有不同排列

最后 \( 1 \) 行中的数是排列总数

样例输入:

4
aacc

样例输出:

aacc
acac
acca
caac
caca
ccaa
6

提示:

 满足条件排列6个,如下:aacc  acac  acca caac  caca ccaa

 超时的同学把输出改一下,不要用cout。

比如putchar(a) 输出变量a

putchar('\n')输出换行

时间限制: 1000ms
空间限制: 128MB

来源: 原创