본문 바로가기

공부합시다

조합 수 구하기

 

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

void combination(vector<int> &v, int n, int r) {
    vector<bool> check(n - r, false);
	check.insert(check.end(), r, true);

	do {
		for (int i = 0; i < n; i++) {
			if (!check[i])
			    continue;
			// do something
			cout << v[i];
		}
		cout << "\n";
	} while (next_permutation(check.begin(), check.end()));
}

int main() {
	vector<int> v = {1, 2, 3, 4, 5};

    combination(v, v.size(), 2);

	return 0;
}

'공부합시다' 카테고리의 다른 글

점 3개의 방향성을 나타내는 CCW  (0) 2020.09.01
소수 판별법 - 에라토스테네스의 체  (0) 2020.08.04
BFS 너비 우선 탐색  (0) 2020.07.18
DFS 깊이 우선 탐색  (0) 2020.03.28
Union-find (disjoint set)  (0) 2020.03.15