본문 바로가기

스터디

조합 알고리즘(c++)

nCr = n!/r!(n-r)!

 

오늘은 큰돌님의 인프런 강의를 통해 조합에 대해 공부해봤다.

 

#include <bits/stdc++.h>

using namespace std;
int n =5, k = 3, a[5] = {1, 2, 3, 4, 5 };//a는 예시일뿐이다.

void print(vector<int> b){
        for(int i : b){
            cout << i<<" ";
        }
        cout << "\n";
}    

void combi(int start, vector<int> b){
    if(b.size()==k){
        print(b);
        return;
    }
    for(int i =start+1; i<n; i++){
        b.push_back(i);
        combi(i, b);
        b.pop_back();
    }
    return;
}
int main() 
{
    vector<int> b;
    combi(-1, b);
    return 0;
}

위에는 c++코드이다.

해당과정을 손으로 구현해보았다.

 

 

 

조합 구현

반응형