본문 바로가기

백준 연습

백준 15652 C언어

마찬가지로 코드에 큰 변화는 없다.

#include <stdio.h>

int Arr[8] = { 0, };

void BackTracking(int N, int M, int d) {
	for (int i = 1, k; i <= N; i++) {
		if (d == 0) Arr[d] = i;
		else {
			for (k = 0; k < d; k++) {
				if (Arr[k] > i) break;
			}
			if (k == d) Arr[d] = i;
			else continue;
		}
		
		if (M == d + 1) {
			for (int n = 0; n < M; n++)
				printf("%d ", Arr[n]);
			printf("\n");
		}
		else BackTracking(N, M, d + 1);
	}
}

int main() {
	int N, M;
	scanf("%d%d", &N, &M);

	BackTracking(N, M, 0);

	return 0;
}

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

백준 10857 c언어  (0) 2021.06.29
백준 9663 C언어  (0) 2020.08.16
백준 15651번 C언어  (0) 2020.08.16
백준 15650 C언어  (0) 2020.08.16
백준 15649 C언어  (0) 2020.08.16