백준 15651번(완전 탐색)

Seungjae·2021년 2월 2일
0

알고리즘 문제풀이

목록 보기
13/27

백준 15651번(완전 탐색)


해당 문제는 1~N까지 자연수중 M개를 고른 수열을 얻어야 합니다. 하지만 조건이 있습니다. 같은 수를 여러번 골라도 되고 출력은 사전 순으로 증가하는 순서로 출력해야 합니다. 이 문제는 기존의 checked를 사용하여 나눴던 조건을 해제해주면 간단하게 해결할 수 있었습니다.

#include <iostream>

using namespace std;

int N, M;

int arr[9];
bool checked[9];

void func(int cnt) {
	if (cnt == M) {
		for (int i = 0; i < cnt; i++) {
			cout << arr[i] << " ";
		}
		puts("");
		return;
	}
	for (int i = 1; i <= N; i++) {
		arr[cnt] = i;
		func(cnt + 1);
	}
}

int main() {
	cin >> N >> M;

	func(0);

	return 0;
}
profile
코드 품질의 중요성을 아는 개발자 👋🏻

0개의 댓글

관련 채용 정보