https://www.acmicpc.net/problem/15651
import java.io.*;
import java.util.*;
public class Main {
static int n, m;
static int[] arr; // 출력할 수열을 담을 배열(길이가 m인 수열)
static StringBuilder result = new StringBuilder();
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());
arr = new int[m+1]; // 길이가 2인 수열일 경우 arr[1]과 arr[2]에 수열을 저장하도록 m+1 길이의 배열로 선언
recur(1); // 깊이를 1부터 시작하여 1부터 탐색하도록 함.
System.out.println(result);
}
public static void recur(int depth) {
// 재귀 호출을 멈추는 조건 : 재귀 깊이가 m보다 커진 경우
if (depth > m) {
// j는 1~m까지 수열 길이만큼 반복 실행
for (int j=1; j<=m; j++) {
result.append(arr[j]).append(" ");
}
result.append("\n");
return;
}
for (int i=1; i<=n; i++) {
arr[depth] = i;
recur(depth + 1);
}
}
}
'Algorithm Solving > Java' 카테고리의 다른 글
[BOJ] 백준 14503번 : 로봇 청소기 - Java (0) | 2024.09.09 |
---|---|
[BOJ] 백준 15652번 : N과 M (4) - Java (0) | 2024.09.09 |
[BOJ] 백준 15650번 : N과 M (2) - Java (0) | 2024.09.09 |
[BOJ] 백준 15649번 : N과 M (1) - Java (0) | 2024.09.09 |
[BOJ] 백준 1926번 : 그림 - Java (0) | 2024.09.09 |