生成可重集的排列
来源:互联网 发布:威少刷数据 编辑:程序博客网 时间:2024/06/09 17:33
输入数组p,并按字典序输出p的全排列;
#include <iostream>#include <algorithm>using namespace std;int a[100],p[100];void print_per(int n,int a[],int p[],int cur){ if(cur==n) { for(int i=0;i<n;i++){cout<<a[i]<<" ";} cout<<endl; } else { for(int i=0;i<n;i++) { if(!i||p[i]!=p[i-1])//防止数组p里面的元素都相同时重复输出 { int c1,c2; for(int j=0;j<cur;j++)if(a[j]==p[i])c1++; for(int j=0;j<n;j++)if(a[j]==a[i])c2++; if(c1<c2) { a[cur]=p[i]; print_per(n, a,p,cur+1); } } } }}int main(){ int n; while(cin>>n) { for(int i=0;i<n;i++) cin>>p[i]; sort(p,p+n); print_per(n,a,p,0); } return 0;}
阅读全文
0 0
- 生成可重集的排列
- 生成可重集的排列
- 生成可重集的排列
- 生成可重集的排列
- 生成可重集的排列
- 生成可重集的排列
- 生成可重集的排列
- 生成可重集的排列
- 生成1~n的排列和生成可重集的排列
- 生成1~n的排列,以及生成可重集的排列
- 生成可重集的排列模板
- 生成1~n的排列 生成可重集的排列 下一个排列
- 暴力求解法_枚举排列(生成1~n 的排列,生成可重集的排列,下一个排列)
- UVA146生成可重集的下一个排列
- 7.2.2生成可重集的排列
- 排列的生成
- 全排列的生成
- 全排列的生成
- vim 跳转到某一行
- Spring IoC 实例
- 递推|迭代|穷举案例
- js 实现浏览器全屏效果(F11)
- Redis持久化机制原理分析与解惑-为什么Redis进行RDB持久化数据时,新起一个进程而不是在原进程中起一个线程
- 生成可重集的排列
- 深入了解php底层机制
- C++ :: 的用法小结
- spring 整合 ehcache失败记录
- Maven总结
- faster rcnn中rpn的anchor
- PAT 乙级 1027.打印沙漏(20)
- SPI总线的工作方式和特点
- mybatis创建第一个实例的笔记(1)