BOJ 15652: N과 M (4) https://www.acmicpc.net/problem/15652
i
값을 그대로 인자로 넘겨 재귀호출 해준다.import java.util.*;
import java.io.*;
public class Main {
static int N, M;
static int[] arr;
public static void main(String[] args) throws IOException{
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
M = sc.nextInt();
sc.close();
arr = new int[N];
dfs(1, 0);
}
static void dfs(int start, int depth) {
if(depth == M) {
for(int i=0; i<M; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
return;
}
for(int i=start; i<=N; i++) {
arr[depth] = i;
dfs(i, depth + 1); // 중복 허용(자기 자신도 출력)이기 때문에 i를 넣어준다.
}
}
}
return;
을 넣어 종료시켜주자.