반응형
SMALL
import java.util.Scanner;
public class Main{
public static int[] arr;
public static boolean[] visit;
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
arr = new int[M];
visit = new boolean[N];
dfs(N, M, 0);
}
public static void dfs(int N, int M, int depth){
if(depth == M) {
for(int num : arr) {
System.out.print(num+" ");
}
System.out.println();
return;
}
for(int i=0; i<N; i++) {
if(!visit[i]) {
visit[i] = true;
arr[depth] = i+1;
dfs(N, M, depth+1);
visit[i] = false;
}
}
}
}
백트래킹 중 dfs를 사용
반응형
LIST
'백준' 카테고리의 다른 글
백준 1018번 문제 체스판 다시 칠하기 (Java) (0) | 2021.07.15 |
---|---|
백준 11653번 문제 소인수분해 (Java) (0) | 2021.07.14 |
백준 10871번 문제 X보다 작은 수 (Java) (0) | 2021.05.14 |
백준 10808번 문제 최소, 최대 (Java) (0) | 2021.05.14 |
백준 11557번 문제 Yangjojang of The Year (Java) (0) | 2021.05.14 |