하루하나코딩

백준 15657 : N과 M(8) c++

HAHAKO 2023. 2. 17. 19:52

코드

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

int N, M;
int arr[8];
int number[8];

void dfs(int a, int b){
	if(a == M){
		for(int i = 0; i < M; i++){
			cout << number[arr[i]] << " ";
		}
		cout << "\n";
		return;
	}
	
	for(int i = b; i < N; i++){
		arr[a] = i;
		dfs(a+1, i);
	}
}

int main(){
	
	cin >> N >> M;
	for(int i = 0; i < N; i++){
		cin >> number[i];
	}
	sort(number, number+N);
	
	dfs(0, 0);
	
	return 0;
}

알게된 점

N과 M 시리즈를 통해

백트래킹을 좀 이해? 한거같다..

암기인가..?

일단 익숙해졌다!