BaekJoon
15652번:N과 M (4) [Java]
충 민
2022. 8. 31. 17:34
이 전의 글과 같이 백트래킹을 이용하여 풀었다.
[소스코드]
package algorithm15650;
import java.util.*;
public class Main {
static int n, m;
static int a[];
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
n = sc.nextInt();//수 입력
m = sc.nextInt();//한줄당 개수 입력
a = new int[m];
go(1,0);
}
public static void go(int index,int depth) {
//인덱스가 마지막 위치에 도달하면 수열 출력
if(depth == m) {
for(int val:a) {
System.out.print(val + " ");
}
System.out.println();
return;
}
// 1부터 ~ N개의 수를 선택
for(int i=index; i<=n; i++) {
a[depth]=i;
go(i,depth+1);
}
}
}