반응형
[Silver III] N과 M (2) - 15650
성능 요약
메모리: 11500 KB, 시간: 72 ms
분류
백트래킹
제출 일자
2024년 10월 24일 17:57:12
문제 설명
자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.
- 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열
- 고른 수열은 오름차순이어야 한다.
입력
첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)
출력
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.
수열은 사전 순으로 증가하는 순서로 출력해야 한다.
제출 코드
//https://www.acmicpc.net/problem/15650
import java.io.*;
public class Main {
static void dfs(int c, int n, int m, String s){
if(m == 1 && c <= n){
System.out.println(s);
return;
}
for(int i = c+1; i <= n; i++){
dfs(i, n, m-1, s+" "+i);
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] temp = br.readLine().split(" ");
int n = Integer.parseInt(temp[0]);
int m = Integer.parseInt(temp[1]);
for(int i = 1; i <= n; i++){
dfs(i, n, m, i+"");
}
}
}
728x90
반응형
'코딩 테스트 정복기 > 백준' 카테고리의 다른 글
[백준/Silver II] N과 M (9) - 15663 (0) | 2024.10.31 |
---|---|
[백준/Silver III] N과 M (5) - 15654 (0) | 2024.10.31 |
[백준/Gold V] 적록색약 - 10026 (0) | 2024.10.22 |
[백준/Gold V] AC - 5430 (1) | 2024.10.21 |
[백준/Gold V] 토마토 - 7569 (1) | 2024.10.20 |