https://www.acmicpc.net/problem/15652
코드설명
백트래킹 문제입니다.
전형적인 백트래킹 문제로써, String str을 활용하여 값을 계속 더해주며 진행했습니다.
따로 answerArr을 선언하여 답을 출력해도 괜찮습니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static int N, M;
public static int[] arr;
public static int answer = 0;
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());
simulate(1, 0, "");
}
public static void simulate(int idx, int depth, String str) {
if(depth == M) {
System.out.println(str);
return ;
}
for(int i=idx; i<=N;i++) {
simulate(i, depth + 1,str + i + " ");
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 15663 N과 M (9) - 백트래킹 JAVA (0) | 2023.08.31 |
---|---|
[백준] 15654 N과 M (5) - 백트래킹 JAVA (0) | 2023.08.31 |
[백준] 1202 보석 도둑 - 우선순위큐 + 그리디 JAVA (0) | 2023.08.30 |
[백준] 11054 가장 긴 바이토닉 부분 수열 - DP + LIS JAVA (0) | 2023.08.30 |
[백준] 10830 행렬 제곱 - 재귀 + 분할정복 JAVA (0) | 2023.08.30 |