当前位置: 代码迷 >> 综合 >> 零碎知识的备忘录
  详细解决方案

零碎知识的备忘录

热度:33   发布时间:2024-02-24 21:05:16.0

1)next_permutation()【#include <algorithm>】

作用:求一个排序的下一个排列的函数,可以遍历全排列。

参考案例:Noip普及组2004 火星人

#include<bits/stdc++.h>
using namespace std;
int a[10005],n,m;
int main(){scanf("%d%d",&n,&m);for(int i=0;i<n;i++)scanf("%d",&a[i]);while(m--)    next_permutation(a,a+n);for(int i=0;i<n-1;i++)    printf("%d ",a[i]);    printf("%d",a[n-1]);return 0;
}

与之完全相反的函数还有prev_permutation(就是一个求一个排序的上一个排列的函数)

  相关解决方案