排列
Time Limit: 1000MS   Memory Limit: 30000K
Total Submissions: 15173   Accepted: 6148

Description

题目描述: 
大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1六个排列。

任务描述: 
给出某个排列,求出这个排列的下k个排列,如果遇到最后一个排列,则下1排列为第1个排列,即排列1 2 3…n。 
比如:n = 3,k=2 给出排列2 3 1,则它的下1个排列为3 1 2,下2个排列为3 2 1,因此答案为3 2 1。

Input

第一行是一个正整数m,表示测试数据的个数,下面是m组测试数据,每组测试数据第一行是2个正整数n( 1 <= n < 1024 )和k(1<=k<=64),第二行有n个正整数,是1,2 … n的一个排列。

Output

对于每组输入数据,输出一行,n个数,中间用空格隔开,表示输入排列的下k个排列。

Sample Input

3
3 1
2 3 1
3 1
3 2 1
10 2
1 2 3 4 5 6 7 8 9 10

Sample Output

3 1 2
1 2 3
1 2 3 4 5 6 7 9 8 10

Source

qinlu@POJ
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<cstring>
 5 #include<algorithm>
 6 using namespace std;
 7
 8 int a[1030];
 9 int main()
10 {
11     int T;
12     int i,n,m;
13     scanf("%d",&T);
14     while(T--)
15     {
16         scanf("%d%d",&n,&m);
17         for(i=0;i<n;i++)
18             scanf("%d",&a[i]);
19         while(m--)
20         {
21             next_permutation(a,a+n);
22         }
23         for(i=0;i<n;i++)
24         {
25             if(i!=0)printf(" ");
26             printf("%d",a[i]);
27         }
28         printf("\n");
29     }
30     return 0;
31 }

转载于:https://www.cnblogs.com/tom987690183/p/3452463.html

poj 1833 排列 STL 全排列公式相关推荐

  1. POJ 1833 排列 (STL)

    排列 http://poj.org/problem?id=1833 Time Limit: 1000MS Memory Limit: 30000K Description 题目描述:  大家知道,给出 ...

  2. POJ 1833 排列【STL/next_permutation】

    题目描述:  大家知道,给出正整数n,则1到n这n个数可以构成n!种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如n=3时,列出1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 ...

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

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

  4. 基本思想(模拟)——鸡兔同笼+校门外的树+约瑟夫问题+装箱子问题+排列【POJ 1833】

    用模拟法解决问题的基本思想是对事物进行抽象,将现实世界的事物映射成计算机所能识别的代码符号,将现实事物之间的关系映射成运算或逻辑控制流. 目录 鸡兔同笼 校门外的树 约瑟夫问题 装箱子问题 排列问题 ...

  5. 【组合数学】排列组合 ( 多重集排列 | 多重集全排列 | 多重集非全排列 所有元素重复度大于排列数 | 多重集非全排列 某些元素重复度小于排列数 )

    文章目录 一.多重集 二.多重集全排列 三.多重集全排列示例 三.多重集非全排列 1 所有元素重复度大于排列数 ( ni≥rn_i \geq rni​≥r ) 四.多重集非全排列 2 某些元素重复度小 ...

  6. 阶乘、排列、组合 公式计算

    阶乘.排列.组合 公式计算 引自:http://wy19880318.blog.163.com/blog/static/3615147220090385546818/ ... 阶乘.排列.组合 公式计 ...

  7. 洛谷 P1618 STL全排列方法

    洛谷 P1618 & STL全排列方法 今天在做洛谷上暴力专项训练,在解P1618题目的过程中发现了STL中全排列在解题中的妙用,特在此分享. 首先让我们先来看一下这道题: P1618三连击( ...

  8. 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-Java全排列公式

    第十四届蓝桥杯集训--练习解题阶段(无序阶段)-Java全排列公式 前言 最近的一些文章都可能会很碎,写到哪里是哪里,过一阵子会具体的整理一遍,这里其它的类型题先往后排一排,因为蓝桥最后考的也就是对题 ...

  9. 第七届蓝桥杯省赛——6凑算式(套全排列公式)

    题目: 如果显示有问题,可以参见上图) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字. 比如: 6+8/3+952/714 就是一种解法, 5+3/1+972/486 是另一种解法. 这 ...

最新文章

  1. ASP.NET MVC编程——视图
  2. 《博客园精华集--Sharepoint分册》第三轮结果
  3. java中的hashcode方法作用以及内存泄漏问题
  4. WebService学习之旅(四)Apache Axis2的安装
  5. 为什么越来越多的人喜欢自驾游?
  6. WPF下字体模糊的问题
  7. OpenCV之感兴趣区域ROI
  8. P3986 斐波那契数列
  9. MyBatis基于Java API配置
  10. 小黑与Vista试用手记
  11. excel 转html 样式丢失,excel2010繁体转简体不见了
  12. ODL中版本变化引起包位置的变化
  13. mac菜单栏设置教程
  14. Android 课设之个人音乐播放器
  15. c语言中单链表的逆置
  16. LaTex数学之积分、求和和极限
  17. YC2440+wiggler小板+H-JATG+PCI转并口卡开发环境的搭建
  18. 什么是WMS系统,WMS如何选型
  19. PLC模拟量输出 模拟量输出FB(FX3U连接FX2N-2DA)
  20. java的(PO,VO,TO,BO,DAO,POJO)类名包名解释

热门文章

  1. 使用iconv命令轻松实现linux下字符集编码的转换
  2. [抄录]李后主的浪淘沙
  3. window.onresize在vue中只能使用一次,自适应resize报错
  4. i春秋第二届春秋欢乐赛 Rotated! writeup
  5. Java的静态绑定与动态绑定
  6. 6个Java神级项目,帅炸了!
  7. 论文阅读《Deep Layer Aggregation(DLA)》
  8. SAP学习笔记(from 神话blog)
  9. python适用于_Python解码适用于我,但不适用于其他人
  10. python重点知识归纳_一文了解机器学习知识点及其算法(附python代码)