https://www.luogu.com.cn/problem/P1706
题目描述
输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。
输入格式
一个整数 nn。
输出格式
由 1 sim n1∼n 组成的所有不重复的数字序列,每行一个序列。
每个数字保留 55 个场宽。
输入输出样例
输入 #1复制
代码语言:javascript复制3
输出 #1复制
代码语言:javascript复制 1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
说明/提示
1 leq n leq 91≤n≤9
题解:利用STL的全排列函数来直接求解即可。
代码语言:javascript复制#include <bits/stdc .h>
using namespace std;
int a[20];
int main()
{
int n,sum;
scanf("%d",&n);
sum = 1;
for(int i = 1; i <= n; i )
{
a[i] = n 1 - i;
sum *= i;
}
for(int i = 0; i < sum; i )
{
next_permutation(a 1,a 1 n);
for(int j = 1; j <= n; j )
{
printf("]",a[j]);
}
printf("n");
}
return 0;
}