关于next_permutation(being,end)
在写洛谷题时,使用到的一个库函数,在求全排列的时候可以用到
用处:对于一个数组,求比目前数组字典序更大的下一个全排列
参数用法和sort相似,两个参数分别为数组开始和结束位置
附上练习:
P1706 全排列问题
P1088 火星人
#include<bits/stdc++.h>
using namespace std;
int a[1005];
int main()
{
int n;scanf("%d",&n);
int cnt=1;
for(int i=1;i<=n;i++) a[i]=i,cnt*=i;
while(cnt--)
{
for(int i=1;i<=n;i++) printf("%5d",a[i]);
printf("\n");
next_permutation(a+1,a+1+n);
}
return 0;
}