728x90
import java.util.Scanner;
public class NandM {
static int n, m;
static int[] s;
static boolean[] visited;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
m = sc.nextInt();
s = new int[m];
visited = new boolean[n + 1];
def(0);
}
static void def(int depth) {
if (depth == m) {
for (int i = 0; i < m; i++) {
System.out.print(s[i] + " ");
}
System.out.println();
return;
}
for (int i = 1; i <= n; i++) {
if (!visited[i]) {
visited[i] = true;
s[depth] = i;
def(depth + 1);
visited[i] = false;
}
}
}
}
백트래킹은 DFS일종으로 재귀를 통해 문제를 푼다.
728x90
'백준' 카테고리의 다른 글
백준 1912 - Java (0) | 2024.10.05 |
---|---|
백준 15650 - Java (1) | 2024.09.26 |
백준 17087 - Java (0) | 2024.09.25 |
백준 9613 - Java (1) | 2024.09.25 |
백준 6588 - Java (0) | 2024.09.21 |