728x90
https://www.acmicpc.net/problem/15651
풀이
중복조합문제
순열과 조합 연습할 겸 풀어봤다.
전체코드
package 백준renew;
import java.io.*;
import java.util.*;
public class 실버3_15651_N과M_3 {
static int N, M;
static StringBuilder sb = new StringBuilder();
static int arr[];
static int tmp[];
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());
arr = new int[N];
for(int i=0; i<N; i++) {
arr[i] = i+1;
}
tmp = new int[M];
Cal(0, 0);
bw.write(sb.toString());
bw.close();
}
static void Cal(int start, int cnt) {
if(cnt == M) {
for(int i=0; i<cnt; i++) {
sb.append(tmp[i]).append(" ");
}
sb.append('\n');
return;
}
for(int i=start; i<N; i++) {
tmp[cnt] = arr[i];
Cal(start, cnt+1);
}
}
}
728x90
'코테 > Algorithm' 카테고리의 다른 글
[BOJ] 15654: N과 M(5) (JAVA) (0) | 2024.06.15 |
---|---|
[Programmers] 두 큐 합 같게 만들기 (Java) (0) | 2024.06.14 |
[Programmers] 점프와 순간 이동 (JAVA) (0) | 2024.06.07 |
[BOJ] 15652: N과 M(4) (JAVA) (0) | 2024.06.04 |
[BOJ] 1141: 접두사 (JAVA) (1) | 2024.05.31 |