ex) 1,2,3 일때
1,2
1,3
2,3
int n,m;
vector<int> arr;
void print(vector<int> picked){
for(auto pick:picked){
cout<<pick<<" ";
}
cout<<'\n';
}
void dfs(vector<int> picked,int idx){
if(picked.size()==m){
print(picked);
return;
}
for(int i=idx;i<n;i++){
picked.push_back(arr[i]);
dfs(picked,i+1);
picked.pop_back();
}
}
void input(){
cin>>n>>m;
arr.resize(n);
for(int i=0;i<n;i++){
cin>>arr[i];
}
}
void solution(){
vector<int> temp;
input();
dfs(temp,0);
}
int main(){
solution();
}
4 2
1 2 3 4
1 2
1 3
1 4
2 3
2 4
3 4
ex) 1,2,3 일때
1,2
1,3
2,1
2,3
3,1
3,2
int n,m;
vector<int> arr;
vector<bool> visited;
void print(vector<int> picked){
for(auto pick:picked){
cout<<pick<<" ";
}
cout<<'\n';
}
void dfs(vector<int> picked){
if(picked.size()==m){
print(picked);
return;
}
for(int i=0;i<n;i++){
if(!visited[i]){
visited[i]=true;
picked.push_back(arr[i]);
dfs(picked);
picked.pop_back();
visited[i]=false;
}
}
}
void input(){
cin>>n>>m;
arr.resize(n);
visited.resize(n);
for(int i=0;i<n;i++){
cin>>arr[i];
}
}
void solution(){
vector<int> temp;
input();
dfs(temp);
}
int main(){
solution();
}
4 2
1 2 3 4
1 2
1 3
1 4
2 1
2 3
2 4
3 1
3 2
3 4
4 1
4 2
4 3