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++库中全排列函数
使用:

  1. 使用前加头文件:#include <algorithm>using namespace std;
  2. 要按字典序输出,则在全排之前对数据处理,可以直接用sort处理。
  3. next_permutation会自动去重。

全排列函数next_permutation相关推荐

  1. c++中的全排列函数next_permutation()

    全排列函数next_permutation() prev_permutation函数(按降序排序) 计算序列全排列的函数:next_permutation(start,end),此函数求的是当前排列的 ...

  2. C++:全排列函数next_permutation()和prev_permutation()

    文章目录 前言 一.next_permutation()用法 简单使用 例子1 第m个最小的数字序列 自定义排序 大小写字母排序 二.prev_permutation()用法 三.STL next_p ...

  3. [学习C++ ]C++ STL 全排列函数详解(排列组合与匹配算法)--1

    一.概念 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列.如果这组数有n个,那么全排列数为n!个. 比如a ...

  4. C++ vector 容器的全排列算法 next_permutation

    问题源于我要对4个数进行排列,自己用了笨拙的穷举算法一个4重循环也得到结果,其中对有相同字母的做排序加删除相邻相等元素的处理.可是如果对100个数进行排列难道用100重循环,后来发现C++11有现成的 ...

  5. 全排列函数和自写排列

    预告:我用两年写的新书<算法竞赛>,已于2022年2月交给清华大学出版社,预计于2022年7月出版. <算法竞赛>是一本"大全",内容覆盖"基础- ...

  6. 全排列函数、组合函数

    1 1.求一个全排列函数:如p([1,2,3])输出: [123],[132],[213],[231],[321],[312]. 2.求一个组合函数如p([1,2,3])输出: [1],[2],[3] ...

  7. python中全组合函数(combinations)与全排列函数(permutations)

    最近写代码时遇到排列组合问题,发现python中的itertools库用起来比较方便.itertools库中的permutations函数可以输出可迭代对象的全排列情况,而combinations函数 ...

  8. python中全组合函数(combinations)与全排列函数(permutations)的介绍与参数说明

    概要:在平常的编程过程中,往往需要面对排列组合的应用情况,而每次自己编写相应的函数会耗费较多的时间,而python中的itertools库就为我们解决了这个小问题.itertools库中的permut ...

  9. C++中全排列算法函数next_permutation的使用方法

    首先,先看对next_permutation函数的解释: http://www.cplusplus.com/reference/algorithm/next_permutation/?kw=next_ ...

最新文章

  1. java 发送邮件
  2. 来客推开源商城与你浅析:B2B2C多商户商城系统
  3. Generalized Linear Models
  4. linux centos7 重启服务器报错 Run 'systemctl daemon-reload' to reload units
  5. motan yar php,motan学习笔记 六 opentracing Brave+zipkin实现-Go语言中文社区
  6. Django之Cookie
  7. 从0到1设计业务系统
  8. iOS safari浏览器上overflow: scroll元素无法滚动bug深究
  9. java 数据库按钮跳转_java,数据库的连接及基本操作
  10. Java 12 生字符串字面量
  11. 数据库课程设计报告格式模版
  12. 图信号处理之图拉普拉斯矩阵的含义
  13. 北京大学历届学生名单 计算机,北京大学历史系历届学生名单
  14. 【MFC】进度条:Progress Control控件
  15. Excel 2010 VBA 入门 035 利用VBA程序定义条件格式
  16. 安装ADOBE READER时无法将数值写入键_php_sir_新浪博客
  17. 全国省份GDP动态统计图表echarts.js插件
  18. 图片太大怎么缩小mb?
  19. 关于ICMP Redirect路由的一个不是bug的bug
  20. 全然用linux工作,放弃windows

热门文章

  1. git rebase 命令 常用_git命令之 git rebase 常用
  2. java application作用域_servlet三大作用域:request,session,application
  3. xml文件转换成图片_如何把pdf文件转换成图片?
  4. Flink异步io应用场景之流表join维表
  5. 十八、梯度下降与反向传播
  6. 肝!十大 Python 机器学习库
  7. Python Bokeh 库进行数据可视化实用指南
  8. “12306” 的架构到底有多牛逼?
  9. 学 Python找不到练手项目?试试这些!
  10. 学文科的优势_男生学文科有优势吗?