#include<bits/stdc++.h> using namespace std; long long n,v[100],f[100]; void dfs(int step,string s){ if(step>n){ for(int i=0;i<n;i++)printf("%c ",s[i]); printf("\n"); return ; } for(int i=1;i<=n;i++){ if(!v[i]){ v[i]=1; dfs(step+1,s+char(f[i]+'0')); v[i]=0; } } } int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>f[i]; sort(f+1,f+n+1); dfs(1,""); return 0; } /************************************************************** Problem: 1685 User: chenshuo Language: C++ Result: Accepted Time:40 ms Memory:2080 kb ****************************************************************/