알고리즘과 자료구조/백준

BOJ 15650 N과 M (2), 조합

bggbr 2019. 11. 21. 21:11
#include <iostream>
#include <vector>
using namespace std; 

int n, m; 
vector<int> v;

void dfs(int num, int cnt) {
	if (cnt == m) {
		for (int i = 0; i < m; i++) {
			cout << v[i] << " ";
		}
		cout << endl;
		return;
	}
	for (int i = num; i <= n; i++) {
		v.push_back(i);
		dfs(i + 1, cnt + 1);
		v.pop_back();
	}
}

int main(void) {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	cin >> n >> m;
	dfs(1, 0);
}