보글보글 개발일지
반응형
[백준/15650][파이썬] N과 M(2)
알고리즘 2023. 4. 11. 09:18

문제 https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 N과M(1)에서 [1,2], [2,1]과 같은 경우는 중복되는 경우로 보고 [1,2]만 출력하는 문제이다. start번호를 줘서 배열에 저장할 수에 제한을 주면 된다. 코드 import sys read = sys.stdin.readline n,m = list(map(int,read().split())) #1~n까지 자연수 중 중복없이 m개를 고르는 수열 #고른 수열은 오름차순 vis=..

[백준/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 배열..

반응형