[문제] 백준 알고리즘 15665 (N과 M(11)) - python
> https://www.acmicpc.net/problem/15665
15665번: N과 M (11)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다.
www.acmicpc.net
N과 M(10)에서 비내림차순 조건을 제외하고, 같은 수를 출력해도 되는 문제
1. 비내림차순 조건을 위해 사용했던 idx로 range 조절 방법을 뺀다.
2. 같은 수를 여러 번 골라도 되므로 visited 방법을 뺀다.
[Code]
N, M = map(int, input().split())
L = list(map(int, input().split()))
L.sort()
out = []
def solve(depth, N, M):
if depth == M:
print(' '.join(map(str, out)))
return
overlap = 0
for i in range(N):
if overlap != L[i]:
out.append(L[i])
overlap = L[i]
solve(depth+1, N, M)
out.pop()
solve(0, N, M)
728x90
'백준 알고리즘(BOJ)' 카테고리의 다른 글
백준 알고리즘 13460 (구슬 탈출 1,2) - python (2) | 2019.10.16 |
---|---|
백준 알고리즘 1759 (암호 만들기) - python (0) | 2019.10.16 |
백준 알고리즘 2581 (소수) - python (0) | 2019.10.16 |
백준 알고리즘 15664 (N과 M(10)) - python (0) | 2019.10.16 |
백준 알고리즘 15663 (N과 M(9)) - python (2) | 2019.10.16 |
댓글