59.부분집합 (DFS)

강지훈·2021년 12월 8일
0

자연수 N이 주어지면 1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력하는 프로그램
을 작성하세요.
▣ 입력설명
첫 번째 줄에 자연수 N(1<=N<=10)이 주어집니다.
▣ 출력설명
첫 번째 줄부터 각각의 부분집합을 출력합니다. 부분집합을 출력하는 순서는 출력예제에서 출
력한 순서와 같게 합니다. 단 공집합은 출력하지 않습니다.
▣ 입력예제 1
3
▣ 출력예제 1
1 2 3
1 2
1 3
1
2 3
2
3

#include

using namespace std;
int n,i,ch[15];
void D(int x){
if(x==n+1){
for(i=1;i<=n;i++){
if(ch[i]==1) cout<<i;
}
cout<<endl;
}
else {
ch[x]=1; //해당 부분집합을 사용한다 체크
D(x+1);
ch[x]=0; //해당 부분집합을 사용하지 않는다 체크
D(x+1);

}

}
int main() {

cin >> n;
D(1);

return 0;

}

profile
never stop

0개의 댓글