728x90
반응형
링크: https://www.acmicpc.net/problem/15663
아이디어
- 백트래킹을 통해 수열 구함
- 방문처리로 본인은 다시 선택하지 못하게 함
- remember 변수로 중복되는 수열이 나오지 않도록 구현
구현
import sys
input = sys.stdin.readline
def dfs():
if len(temp) == m:
print(*temp)
return
remember = 0
for i in range(n):
if not visited[i] and remember != nums[i]:
visited[i] = True
temp.append(nums[i])
remember = nums[i]
dfs()
visited[i] = False
temp.pop()
n, m = map(int, input().split())
nums = sorted(list(map(int, input().split())))
visited = [False] * n
temp = []
dfs()
마무리
- 심심할때마다 돌아오는 N과 M 시리즈
- 머리풀기로 참 좋은듯
728x90
반응형
'코테준비 > 백준' 카테고리의 다른 글
[백준] 1339번: 단어 수학 - Python (0) | 2023.09.27 |
---|---|
[백준] 1783번: 병든 나이트 - Python (0) | 2023.09.23 |
[백준] 1213번: 팰린드롬 만들기 - Python (0) | 2023.09.19 |
[백준] 17144번: 미세먼지 안녕! - Python (0) | 2023.09.18 |