보글보글 개발일지
반응형
[백준/15650][Java] N과 M(2)
알고리즘 2023. 3. 14. 16:49

문제 https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 설명 N과 M(1)이 백트래킹을 이용한 순열 문제라면 N과 M(2)는 백트래킹을 이용한 조합 문제이다. 조합은 순서가 상관없다. 또한 오름차순으로 구하게되면 이전에 했던 문제와 달리 중복 체크가 필요 없다. 처음에 combination(0,1)을 호출하는데, 이후에는 combination(cnt+1, i+1)을 호출한다. 오름차순으로 구하면 중복체크 하지 않아도 되므로, visited 배열..

article thumbnail
[백준/15649][Java] N과 M(1)
알고리즘 2023. 3. 14. 15:59

문제 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 가장 기본적인 백트래킹 문제이다. func라는 함수의 역할은, k번째 수를 정하는 것이다. k번째 수를 정하고, k+1의 수를 재귀적으로 정해준다. 코드 package algo0314; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class B15649_N과M1 {..

반응형