백준 연습

백준 15650 C언어

김찬태풍 2020. 8. 16. 01:32

코드는 15649번 문제와 등호 제외 똑같음...

#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[0] = i;
		else {
			for (k = 0; k < d; k++) {
				if (Arr[k] >= i) break;
			}
			if (k == d) Arr[d] = i;
			else continue;
		}

		if (M - 1 == d) {
			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;
}