728x90
https://www.acmicpc.net/problem/15652
풀이
중복조합문제였다.
스택오버플로우가 발생했는데, 이건 return을 하지 않아서 생긴 문제였다. !
제대로 풀어놓고 꼼꼼히 확인하자 !!
전체코드
package 백준renew;
import java.io.*;
import java.util.*;
public class 실버3_N과M_4 {
static StringBuilder sb = new StringBuilder();
static int N, M;
static int tmp[];
static boolean arr[];
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
tmp = new int[M];
arr = new boolean[N+1];
Check(0, 1);
bw.write(sb.toString());
bw.close();
}
static void Check(int depth, int start) {
if(depth == M) {
String ans = "";
for(int i=0; i<M; i++) {
if(i == M-1) {
ans += tmp[i];
sb.append(ans).append('\n');
}else {
ans += tmp[i]+" ";
}
}
return;
}
for(int i=start; i<=N; i++) {
if(i < start) {
continue;
}else {
tmp[depth] = i;
Check(depth+1, i);
}
}
}
}
728x90
'코테 > Algorithm' 카테고리의 다른 글
[BOJ] 15651: N과 M (3) (JAVA) (0) | 2024.06.09 |
---|---|
[Programmers] 점프와 순간 이동 (JAVA) (0) | 2024.06.07 |
[BOJ] 1141: 접두사 (JAVA) (1) | 2024.05.31 |
[Programmers] 모음사전 (JAVA) (0) | 2024.05.29 |
[BOJ] 20310: 타노스 (JAVA) (0) | 2024.05.23 |