백준

백준 15650번 문제 C++

LimeCoding 2022. 1. 24. 18:30

1단계: 문제 파악


 

 

 

2단계: 배경 지식


 

 

 

 

3단계: 문제 풀이


 

 

 

4단계: 코드 작성


 

#include<iostream>

int combination[9] = {0,};

int m, n;

bool visited[9] = { false, };

void Depth_First_Search(int count) {

	if (count == m) {
		for (int i = 0; i < m; i++) {
			printf("%d ", combination[i]);
		}
		printf("\n");
		return ;
	}

	for (int i = 1; i < n + 1; i++) {
		int k = (count > 0) ? count - 1 : 0;
		if (!visited[i]&& i > combination[k]) {
			combination[count] = i;
			visited[i] = true;
			Depth_First_Search(count + 1);
			visited[i] = false;
		}
	}

	

}

int main() {
	scanf("%d %d", &n, &m);
	Depth_First_Search(0);
}

 

 

 

 

'백준' 카테고리의 다른 글

[JAVA] 백준 22871 징검다리 건너기(이분 탐색)  (1) 2024.01.11
백준 15652번 문제 C++  (0) 2022.01.24
백준 15651번 문제 C++  (0) 2022.01.24
백준 15649번 문제 C++  (0) 2022.01.24
백준 2557번 문제 C++  (0) 2022.01.18