Description:
Accept:
#include<bits/stdc++.h>
using namespace std;
int n, record[10], vis[10];
vector<int>a, tmp;
void DFS(int cur) {
if (cur == n) {
for (int i = 0; i < n; i++) {
printf(" %d" + !i, record[i]);
}
printf("\n");
}
for (int i = 0; i < n; i++) {
if (vis[i]) {
continue;
}
vis[i] = true; record[cur] = a[i];
DFS(cur + 1);
vis[i] = false;
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
cin >> n;
for (int i = 0; i < n; i++) {
int t;
cin >> t;
a.push_back(t);
}
sort(a.begin(), a.end());
memset(record, 0, sizeof(record));
memset(vis, 0, sizeof(vis));
DFS(0);
return 0;
}