반응형
https://www.acmicpc.net/problem/15650
#include <bits/stdc++.h>
using namespace std;
int n, r;
int ch[20];
// 1 2 3
// 1 고르거나 안고르거나
// 2 고르거나 안고르거나
// 3 고르거나 안고르거나
// -> 끝고른거 갯수가 r 이면 출력 아니면 그냥 리턴
void DFS(int num, int selected){
if(num > n) return;
if(selected==r){
for(int i=1; i<=n; i++){
if(ch[i]==1){
printf("%d ", i);
}
}
printf("\n");
return;
}
else{
ch[num+1] = 1;
DFS(num+1, selected+1);
ch[num+1] = 0;
DFS(num+1, selected);
}
}
int main(){
//freopen("input.txt.txt","rt",stdin);
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> r;
DFS(0,0);
}
#include <bits/stdc++.h>
using namespace std;
int n, r;
int ch[20];
// 1 2 3
// 1 고르거나 안고르거나
// 2 고르거나 안고르거나
// 3 고르거나 안고르거나
// -> 끝고른거 갯수가 r 이면 출력 아니면 그냥 리턴
void DFS(int s, int L){
if(L==r){
for(int i=0; i<L; i++){
printf("%d ",ch[i]);
}
printf("\n");
}
else{
for(int i=s; i<=n; i++){
ch[L] = i;
DFS(i+1, L+1);
}
}
}
int main(){
//freopen("input.txt.txt","rt",stdin);
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> r;
DFS(1,0);
}
반응형
'Algorithm > problem' 카테고리의 다른 글
백준 7579번: 앱 - 냅색(배낭) 알고리즘 (0) | 2022.01.27 |
---|---|
백준 4386번 : 별자리 만들기 - 최소스패닝트리, 크루스칼 (0) | 2022.01.24 |
백준 7490번 : 0 만들기 - DFS (0) | 2022.01.21 |
백준 15811번 : 복면산?! - 복면산 DFS 문제 (0) | 2022.01.21 |
백준 1238번 : 파티 - 다익스트라 알고리즘 활용 문제 (0) | 2022.01.20 |