全排列函数next_permutation
1620: 全排列
Time Limit: 1 Sec Memory Limit: 128 MB
[Submit][Status][Web Board]
Description
给定n个数 a[0] , a[1] … a[n-1], 输出其全排列。
Input
第一行输入一个数n,(n<7)
接下来一行输入n个数。
Output
按字典序从小到大输出全排列
Sample Input
3
1 2 3
3
1 2 2
Sample Output
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
1 2 2
2 1 2
2 2 1
AC代码:
#include <stdio.h>#include <algorithm>using namespace std;int main(){int n;while(~scanf("%d",&n)){int a[n];for(int i = 0; i < n; i++)scanf("%d",&a[i]);sort(a,a+n);do{int i = 0;printf("%d",a[i]);for(i = 1; i < n; i++)printf(" %d",a[i]);printf("\n");}while(next_permutation(a,a+n));}return 0;}
总结:
next_permutation为C++库中全排列函数
使用:
- 使用前加头文件:
#include <algorithm>
和using namespace std;
- 要按字典序输出,则在全排之前对数据处理,可以直接用sort处理。
- next_permutation会自动去重。
全排列函数next_permutation相关推荐
- c++中的全排列函数next_permutation()
全排列函数next_permutation() prev_permutation函数(按降序排序) 计算序列全排列的函数:next_permutation(start,end),此函数求的是当前排列的 ...
- C++:全排列函数next_permutation()和prev_permutation()
文章目录 前言 一.next_permutation()用法 简单使用 例子1 第m个最小的数字序列 自定义排序 大小写字母排序 二.prev_permutation()用法 三.STL next_p ...
- [学习C++ ]C++ STL 全排列函数详解(排列组合与匹配算法)--1
一.概念 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列.如果这组数有n个,那么全排列数为n!个. 比如a ...
- C++ vector 容器的全排列算法 next_permutation
问题源于我要对4个数进行排列,自己用了笨拙的穷举算法一个4重循环也得到结果,其中对有相同字母的做排序加删除相邻相等元素的处理.可是如果对100个数进行排列难道用100重循环,后来发现C++11有现成的 ...
- 全排列函数和自写排列
预告:我用两年写的新书<算法竞赛>,已于2022年2月交给清华大学出版社,预计于2022年7月出版. <算法竞赛>是一本"大全",内容覆盖"基础- ...
- 全排列函数、组合函数
1 1.求一个全排列函数:如p([1,2,3])输出: [123],[132],[213],[231],[321],[312]. 2.求一个组合函数如p([1,2,3])输出: [1],[2],[3] ...
- python中全组合函数(combinations)与全排列函数(permutations)
最近写代码时遇到排列组合问题,发现python中的itertools库用起来比较方便.itertools库中的permutations函数可以输出可迭代对象的全排列情况,而combinations函数 ...
- python中全组合函数(combinations)与全排列函数(permutations)的介绍与参数说明
概要:在平常的编程过程中,往往需要面对排列组合的应用情况,而每次自己编写相应的函数会耗费较多的时间,而python中的itertools库就为我们解决了这个小问题.itertools库中的permut ...
- C++中全排列算法函数next_permutation的使用方法
首先,先看对next_permutation函数的解释: http://www.cplusplus.com/reference/algorithm/next_permutation/?kw=next_ ...
最新文章
- java 发送邮件
- 来客推开源商城与你浅析:B2B2C多商户商城系统
- Generalized Linear Models
- linux centos7 重启服务器报错 Run 'systemctl daemon-reload' to reload units
- motan yar php,motan学习笔记 六 opentracing Brave+zipkin实现-Go语言中文社区
- Django之Cookie
- 从0到1设计业务系统
- iOS safari浏览器上overflow: scroll元素无法滚动bug深究
- java 数据库按钮跳转_java,数据库的连接及基本操作
- Java 12 生字符串字面量
- 数据库课程设计报告格式模版
- 图信号处理之图拉普拉斯矩阵的含义
- 北京大学历届学生名单 计算机,北京大学历史系历届学生名单
- 【MFC】进度条:Progress Control控件
- Excel 2010 VBA 入门 035 利用VBA程序定义条件格式
- 安装ADOBE READER时无法将数值写入键_php_sir_新浪博客
- 全国省份GDP动态统计图表echarts.js插件
- 图片太大怎么缩小mb?
- 关于ICMP Redirect路由的一个不是bug的bug
- 全然用linux工作,放弃windows
热门文章
- git rebase 命令 常用_git命令之 git rebase 常用
- java application作用域_servlet三大作用域:request,session,application
- xml文件转换成图片_如何把pdf文件转换成图片?
- Flink异步io应用场景之流表join维表
- 十八、梯度下降与反向传播
- 肝!十大 Python 机器学习库
- Python Bokeh 库进行数据可视化实用指南
- “12306” 的架构到底有多牛逼?
- 学 Python找不到练手项目?试试这些!
- 学文科的优势_男生学文科有优势吗?