含有重复元素的排列
Description 设R={ r1, r2, ……, rn }是要进行排列的n个元素。其中元素r1 ,r2 ,……,rn可能相同。试设计一个算法,列出R的所有不同排列。给定n以及待排列的n个元素。计算出这n个元素的所有不同排列。
Input 【含有重复元素的排列】输入数据的的第1行是元素个数n,1≤n≤500。接下来的1行是待排列的n个元素。
Output 将计算出的n个元素的所有不同排列输出,每种排列占1行,最后1行中的数是排列总数。
Sample Input
4 aacc
Sample Output
aacc
acac
acca
caac
caca
ccaa
6
分析:和普通求全排列问题差不多,只是多了,判断是否重复字符而已。
关于无重复元素的排列,可以参考:http://www.cnblogs.com/huashanqingzhu/p/3569835.html
1#include2#include 3#include 4using namespace std ; 5long long ans; 6int ok(char str[],int a ,int b ) 7{ 8if(b>a) 9for(int i=a; i
本文代码来自:http://blog.sina.com.cn/s/blog_9b95c19e0101aqwn.html
推荐阅读
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 第5关(消灭该死的重复(上))
- 你也许不知道的Vuejs|你也许不知道的Vuejs - 花式渲染目标元素
- React.js的表单(六)
- iOS|iOS 本地推送开发记录二
- 集合框架(集合嵌套存储和遍历元素的案例代码实现)
- python日志重复输出
- 第六课|第六课 js管理页面元素位置大小
- css|css中元素的显示与隐藏
- 这一场春雪