Programming/Algorithm
[Algorithm] C++ 부분집합(DFS)
100winone
2020. 1. 6. 14:08
입력예제 1
3
출력예제 1
1 2 3
1 2
1 3
1
2 3
2
3
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int n, ch[11];
void DFS(int L) {
int i;
if (L == n + 1) {
for (i = 1; i <= n; i++) {
if (ch[i] == 1) printf("%d ", i);
}
puts("");
}
else {
ch[L] = 1;
DFS(L + 1);
ch[L] = 0;
DFS(L + 1);
}
}
int main() {
scanf("%d", &n);
DFS(1);
return 0;
}