#include<bits/stdc++.h> using namespace std; int n,a[100],f[100]={0}; void dfs(int step){ if(step>n){ for(int i=1;i<=n;i++){ cout<<a[i]<<" "; } cout<<endl; } for(int i=1;i<=n;i++){ if(f[i]==0){ f[i]=1; a[step]=i; dfs(step+1); f[i]=0; } } } int main(){ cin>>n; dfs(1); return 0; } /************************************************************** Problem: 1308 User: chenyongtian Language: C++ Result: Accepted Time:50 ms Memory:2072 kb ****************************************************************/