1. 用法
对于数组 a,next_permutation(a+l,a+r) 可以把 a 数组的区间 [l,r) 变成该区间的下一个全排列(如果不知道全排列是啥就百度吧╮(╯▽╰)╭)。如果该区间不存在下一个全排列(如当前为最后一个全排列)则函数会返回 false,否则返回 true
2. 题目
codevs – 1294 全排列
传送门= ̄ω ̄=
题目不讲了,实在没啥好讲的,直接上代码。
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
register int n,a[11],i;
scanf("%d",&n);
for(i=1;i<=n;i++)a[i]=i,printf("%d ",i);
printf("\n");
while(next_permutation(a+1,a+1+n)){for(int i=1;i<=n;i++)printf("%d ",a[i]);printf("\n");}
return 0;
}
0 条评论