#include<bits/stdc++.h> using namespace std; int n,a[101]; bool vis[100]; void dfs(int g,string s) { if(g>n) { printf("%s\n", s.c_str()); 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]; } sort(a+1,a+n+1); dfs(1,""); } /************************************************************** Problem: 1685 User: zhengyuxuan Language: C++ Result: Accepted Time:36 ms Memory:2076 kb ****************************************************************/