-
백준 15652 N과 M (4) | 중복조합 | C++[백준 알고리즘]/[C++] 2021. 3. 30. 11:50728x90반응형
이번 포스팅은 백준 15652번 N과 M (4)입니다.
아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.
기본 알고리즘
재귀함수로 구현한 중복조합
전체 코드
1234567891011121314151617181920212223242526272829303132333435363738//백준15652 N과 M (4)#include <iostream>using namespace std;const int MAX = 8;int N, M;int arr[MAX];int selected[MAX];void print() {for (int i = 0; i < M; i++) {cout << selected[i] << " ";}cout << "\n";}void DFS(int idx, int cnt) {if (cnt == M) {print();return;}for (int i = idx; i < N; i++) {selected[cnt] = arr[i]; //cnt번째 뽑은 카드 = arr[i] 로 저장DFS(i, cnt + 1);}}int main() {cin >> N >> M;for (int i = 0; i < N; i++) {arr[i] = i + 1; //arr[0]=1, arr[1]=2, ...}DFS(0, 0);return 0;}cs 728x90반응형'[백준 알고리즘] > [C++]' 카테고리의 다른 글
백준 11404 플로이드 | C++ (0) 2021.04.06 백준 9663 N-Queen | 백트래킹, DFS | C++ (0) 2021.04.01 백준 15651 N과 M (3) | 중복순열 | C++ (0) 2021.03.30 백준 15649 N과 M (1) | 순열 | C++ (0) 2021.03.30 백준 15650 N과 M (2) | 조합 | C++ (0) 2021.03.30