-
Notifications
You must be signed in to change notification settings - Fork 47
Expand file tree
/
Copy pathsubsets.cpp
More file actions
37 lines (33 loc) · 757 Bytes
/
Copy pathsubsets.cpp
File metadata and controls
37 lines (33 loc) · 757 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <bits/stdc++.h>
using namespace std;
void dfs(vector<int> &subset, vector<int> &arr, int i){
if(i == arr.size()){
for(int j: subset)printf("%d ",j);
printf("\n");
return;
}
dfs(subset,arr,i+1);
subset.emplace_back(arr[i]);
dfs(subset,arr,i+1);
subset.pop_back();
}
void dfs(vector<int> &subset, vector<int> &arr, int i)
{
if (i == arr.size()){
for (auto j : subset)
cout << j << " ";
cout << "\n";
return;
}
subset.emplace_back(arr[i]);
dfs(subset, arr, i + 1);
subset.pop_back();
dfs(subset, arr, i + 1);
}
int main(){
vector<int> arr;
for (auto &a : arr)
cin >> a;
vector<int> subset = {};
dfs(subset,arr,0);
}