![[Backtracking] 백준 15650번 : N과M (2)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtK7DT%2FbtsMwAtyhL0%2FzIkYThGk2vS1GbKUftnkz1%2Fimg.png)
[Backtracking] 백준 15650번 : N과M (2)백준/Backtracking2025. 2. 25. 20:10
Table of Contents
2025/2/25(화)
https://www.acmicpc.net/problem/15650
🔑 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class 백준_N과M_2 {
private static boolean[] used;
private static int N, M;
private static StringBuilder sb;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
sb = new StringBuilder();
used = new boolean[N + 1];
backtrack(0, 0, "");
System.out.println(sb);
}
private static void backtrack(int num, int cnt, String s) {
if (cnt == M) {
sb.append(s.trim() + "\n"); // trim()은 문자열의 앞뒤 공백 제거
return;
}
for (int i = num + 1; i <= N; i++) {
if (!used[i]) {
used[i] = true;
backtrack(i,cnt + 1, s + " " + i);
used[i] = false;
}
}
}
}
'백준 > Backtracking' 카테고리의 다른 글
[Backtracking] 백준 15649번 : N과 M (1) (0) | 2025.02.25 |
---|
@킴준현 :: 차근차근 꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!