源代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[10];
bool vis[10];
void dfs(int k){
if(k==n+1)
{
for(int i=1;i<=n;i++)
cout<<a[i]<<" ";
cout<<endl;
return;
}
for(int i=1;i<=n;i++)
{
if(vis[i]==true) continue;
a[k]=i;
vis[i]=true;
dfs(k+1);
vis[i]=false;
}
}
int main(){
cin>>n;
dfs(1);
return 0;
}