https://www.acwing.com/problem/content/844/
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[8];
bool b[10];
int n;
void dfs(int index)
{
if(index==n)
{
for(int i=0;i<n;i++) cout<<a[i]<<" ";
cout<<endl;
return ;
}
for(int i=1;i<=n;i++)
{
if(!b[i])//当前这个数没有选
{
a[index]=i;//选
b[i]=true;
dfs(index+1);
b[i]=false;
}
}
}
int main(void)
{
cin>>n;
dfs(0);
return 0;
}