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