[문제] 백준 알고리즘 15655 (N과 M(6)) - python
> https://www.acmicpc.net/problem/15655
15655번: N과 M (6)
N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 고른 수열은 오름차순이어야 한다.
www.acmicpc.net
N과 M(5)에서 오름차순 방식 추가.
idx 적용한 range 조절만 해주면 끝이다.
[Code]
N, M = map(int, input().split())
L = list(map(int, input().split()))
L.sort()
visited = [False] * N
out = []
def solve(depth, idx, N, M):
if depth == M:
print(' '.join(map(str, out)))
return
for i in range(idx, N):
if not visited[i]:
visited[i] = True
out.append(L[i])
solve(depth+1, i+1, N, M)
out.pop()
visited[i] = False
solve(0, 0, N, M)
728x90
'백준 알고리즘(BOJ)' 카테고리의 다른 글
백준 알고리즘 15657 (N과 M(8)) - python (0) | 2019.10.16 |
---|---|
백준 알고리즘 15656 (N과 M(7)) - python (0) | 2019.10.16 |
백준 알고리즘 15654 (N과 M(5)) - python (0) | 2019.10.15 |
백준 알고리즘 15652 (N과 M(4)) - python (0) | 2019.10.15 |
백준 알고리즘 2775 (부녀회장이 될테야) - python (0) | 2019.10.15 |
댓글