题目描述
链接:https://ac.nowcoder.com/acm/problem/15128
来源:牛客网
老李见和尚赢了自己的酒,但是自己还舍不得,所以就耍起了赖皮,对和尚说,光武不行,再来点文的,你给我说出来1-8的全排序,我就让你喝,这次绝不耍你,你能帮帮和尚么?
输入描述
无
输出描述
1~8的全排列,按照全排列的顺序输出,每行结尾无空格
输入样例
No_Input
输出样例
Full arrangement of 1~8
备注
1~3的全排列 :
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
思路
STL中的全排列函数,next_permutation,下一个排列指的是在全排列中大于本排列的最小排列。
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int n = 8;
int a[n];
for(int i = 1; i <= n; ++i)
{
a[i] = i;
}
do{
for(int i = 1; i <= n; ++i)
{
if(i-1) printf(" ");
printf("%d",a[i]);
}
printf("\n");
}while(next_permutation(a+1,a+1+n));
return 0;
}