#include<bits/stdc++.h> using namespace std; int n,v[10],a[10]; //1 2 3 //1 3 2 //2 1 3 //2 3 1 //3 1 2 //3 2 1 void dfs(int step,string s){ if(step>n){ cout<<s<<endl; return; } for(int i=1;i<=n;i++){ if(v[i]==0){ v[i]=1; dfs(step+1,s+char(a[i]+'0')+' '); v[i]=0; } } } int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; dfs(1,""); return 0; } /************************************************************** Problem: 1685 User: chenpengxi Language: C++ Result: Time Limit Exceed ****************************************************************/