#include<bits/stdc++.h> using namespace std; int n; int a[10],vis[10],ans[10]; void dfs(int step){ if(step>n){ for(int i=1;i<=n;i++) printf("%d ",ans[i]); printf("\n"); return; } for(int i=1;i<=n;i++){ if(vis[i]==0){ vis[i]=1; ans[step]=a[i]; dfs(step+1); vis[i]=0; } } } int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(1+a,1+a+n); dfs(1); return 0; } /************************************************************** Problem: 1685 User: fuhongyi Language: C++ Result: Accepted Time:43 ms Memory:2076 kb ****************************************************************/