AcWing 94. 递归实现排列型枚举
原题链接
简单
作者:
轻柔说话的风
,
2020-04-01 10:50:08
,
所有人可见
,
阅读 3
C++ 代码
#include <cstdio>
const int maxn = 0x3f3f3f;
int A[maxn];
void print_permutation(int n, int* A, int cur)
{
if(cur == n)
{
for(int i = 0; i < n; i++) printf("%d ", A[i]);
printf("\n");
}
else for(int i = 1; i <= n; i++)
{
bool flag = true;
for(int j = 0; j < cur; j++)
if(A[j] == i) flag = false;
if(flag)
{
A[cur] = i;
print_permutation(n, A, cur + 1);
}
}
}
int main()
{
int n;
scanf("%d", &n);
print_permutation(n, A, 0);
return 0;
}