#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 |