공부기록/백준

[백준] 15649번 N과 M (1)

메델 2023. 9. 27. 17:05
import java.util.Scanner;

public class Main {
	
	static StringBuilder sb = new StringBuilder();
	static int N, M;
	static int[] select;
	
	static void rec_func(int k) {
		if (k == M + 1) {
			for (int i = 1; i <= M; i++) {
				sb.append(select[i]).append(' ');
			}
			sb.append('\n');
		} else {
			for (int j = 1; j <= N; j++) {
				boolean isUsed = false;

				for (int i = 1; i < k; i++) {
					if (j == select[i]) {
						isUsed = true;
						break; 
					}
				}

				if (!isUsed) {
					select[k] = j;
					rec_func(k + 1);
					select[k] = 0;
				}
			}
		}
	}

	public static void main(String[] args) {
		Scanner kb = new Scanner(System.in);

		N = kb.nextInt();
		M = kb.nextInt();

		select = new int[M + 1];
		rec_func(1);
		System.out.print(sb);
	}
}

'공부기록 > 백준' 카테고리의 다른 글

[백준] 15650번 N과 M(2)  (0) 2023.09.27
[백준] 15652번 N과 M(4)  (0) 2023.09.27
[백준] 2775번 부녀회장이 될테야  (1) 2023.09.27
[백준] 1110번 더하기 사이클  (0) 2023.09.27
[백준] 4963번 섬의 개수  (0) 2023.09.24