상세 컨텐츠

본문 제목

n 개의 원소중 m개를 고르는 모든 조합을 찾는 알고리즘

Developer/일상다반사

by cepiloth 2017. 8. 20. 21:43

본문

728x90
반응형

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*
* n: 전체 원소의 수
* arr : 지금가지 고른 원소들의 번호
* toPick : 더 고를 원소의 수
* 일 때, 앞으로 toPick 개의 원소를 고르는 모든 방법을 출력한다.
*/
void toPick(const vector<int>& arr, int n, int toPick) {
    
    // 기저 사례: 더 고를 원소가 없을 때 고른 원소들을 출력한다.
    if (toPick == 0) {
        printArr(arr);
    }
    
    // 고를 수 있는 가장 작은 번호를 계산한다.
    int next = arr.size() == : arr.back() + 1;
    
    // 이 단계에서 원소 하나를 고른다.
    for(;next < n; ++next) {
        arr.push_back(next);
        toPick(arr, n, toPick - 1);
        arr.pop_push();
    }
}
 
cs



728x90
반응형

'Developer > 일상다반사' 카테고리의 다른 글

2017 10 23 증명의 부제  (0) 2017.10.23
DP 를 배우다  (0) 2017.10.05
20170917 - 정리에 시간  (0) 2017.09.17
알고리즘 문제풀이 사이트  (0) 2017.09.03
PICNIC(소풍 문제를 해결하는 재귀 호출 코드)  (0) 2017.08.20

관련글 더보기

댓글 영역