- problem link:http://caioj.cn/problem.php?id=1031
- AC code:
#include<iostream>
using namespace std;
const int N=1e2+6;
int a[N],v[N],n;
void dfs(int k){
if(k==n+1)for(int i=1;i<=n;i++)printf("%d%c",a[i],i==n?'\n':' ');
else for(int i=1;i<=n;i++)
if(v[i]){
a[k]=i;v[i]=0;dfs(k+1);
a[k]=0;v[i]=1;
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)v[i]=1;dfs(1);
}