#include<iostream>#include<vector>usingnamespace std;
vector<vector<int>> res;voiddfs(vector<int> a, vector<int> path,int t){int n = a.size();if(n ==1){
path.push_back(a[0]);
res.push_back(path);return;}
path.push_back(a[t]);
a.erase(a.begin()+ t);
n = a.size();for(int i =0; i < n; i++){dfs(a,path, i);}}
vector<vector<int>>combine(int n){
vector<int>a(n);for(int i =0; i < n; i++)a[i]= i +1;
vector<int> path;for(int i =0; i < n; i++){dfs(a, path, i);}return res;}intmain(){auto a =combine(4);return0;}