全排列函数

C++/STL中定义的next_permutation和prev_permutation函数则是非常灵活且高效的一种方法,它被广泛的应用于为指定序列生成不同的排列。

按照STL文档的描述,next_permutation函数将按字母表顺序生成给定序列的下一个较大的序列,直到整个序列为减序为止。prev_permutation函数与之相反,是生成给定序列的上一个较小的序列。

包含在头文件#include

D的小L

时间限制:4000 ms  |  内存限制:65535 KB

难度:2

描述

      一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0

输入

第一行输入一个数N(0

输出

按特定顺序输出所有组合。
特定顺序:每一个组合中的值从小到大排列,组合之间按字典序排列。

样例输入

2
2
3

样例输出

12
21
123
132
213
231
312
321

代码实现

 
  • #include

  • #include

  • using namespace std;

  •  
  • int main()

  • {

  • int T,i,n;

  • int a[9]={1,2,3,4,5,6,7,8,9};

  • cin>>T;

  • while(T--)

  • {

  • cin>>n;

  • do

  • {

  • for(i=0;i

  • cout<

  • cout<

  • }while(next_permutation(a,a+n));

  • }

  • return 0;

  • }

你可能感兴趣的:(全排列函数)