하다보니

15650번-n과 m (2) 본문

알고리즘 풀이/백준

15650번-n과 m (2)

claire 2022. 3. 8. 14:41
/*
1부터 n까지 자연수 중 중복없이 m개 고른 수열, 
고른 수열은 오름차순이어야 한다. 
*/
#include<iostream>
using namespace std;

int n, m;
int arr[10];
bool isused[10];

void func(int k) {
	if (k == m) {
		for (int i = 0; i < m; i++) {
			cout << arr[i] << ' ';
		}
		cout << '\n';
		return;
	}
	int st = 1;
	if (k != 0)st = arr[k - 1] + 1;
	for (int i = st; i <= n; i++) {
		if (isused[i])continue;
		arr[k] = i;
		isused[i] = 1;
		func(k + 1);
		isused[i] = 0;
	}
	
}

int main() {
	cin >> n >> m;
	func(0);
}

'알고리즘 풀이 > 백준' 카테고리의 다른 글

15652번-n과 m(4)  (0) 2022.03.08
15651번-n과 m(3)  (0) 2022.03.08
1182번-부분수열의 합  (0) 2022.03.08
n과 m(1)  (0) 2022.03.08
3986번-좋은 단어  (0) 2022.03.07