[백트래킹] 백준 15651번 N과 M (3) [Java]
알고리즘/java 2025. 4. 18. 23:02
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.Arrays;
public class Main {
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] a = new int[m];
backTracking(n, m, 0, a);
System.out.println(sb);
}
public static void backTracking(int n, int m, int c, int[] a) {
if(c == m) {
sb.append(Arrays.toString(a).replace("[", "").replace("]", "").replace(",", ""));
sb.append(" \n");
// for (int i = 0; i < a.length; i++) {
// sb.append(a[i]);
// }
// sb.substring(0, sb.length() - 1);
// sb.append("\n");
return;
}
for (int i = 0; i < n; i++) {
a[c] = i + 1;
backTracking(n, m, c + 1, a);
}
}
}
변경된 조건에 따라 visit을 판단할 필요가 없어져 지웠고
일반적인 dfs와 크게 다를 게 없는 문제가 되었다.
출력 부분만 while문을 돌던 것에서 Arrays.toString으로 변경
[백트래킹] 백준 9663번 N-Queen [Java] (2) | 2025.04.22 |
---|---|
소프티어 lv.3 함께하는 효도 (1) | 2025.04.21 |
[백트래킹] 백준 15650번 N과 M (2) [Java] (1) | 2025.04.17 |
[백트래킹] 백준 15649번 N과 M (1) [Java] (0) | 2025.04.17 |
소프티어 lv.3 Hanyang Popularity Exceeding Competition (1) | 2025.04.15 |