| 제출 1 |
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
nums = sorted(list(map(int, input().split())))
keep = []
visit = [0]*N
result = set()
def recur(x):
if x == M:
result.add(tuple(keep))
return
for i in range(N):
visit[i] = 1
keep.append(nums[i])
recur(x + 1)
visit[i] = 0
keep.pop()
recur(0)
for res in sorted(list(result)):
print(*res)
: N과M(10)응용 문제정도이다.
: 정말 단순하게 백트래킹 풀이하고, set로 중복 제거를 해줬다.
'CodingTest > Baekjun Online Judge' 카테고리의 다른 글
[ BOJ / 파이썬 ] 13335 트럭을 지나는 트럭 (0) | 2022.10.05 |
---|---|
[ BOJ / 파이썬 ] 14499 주사위 굴리기 (0) | 2022.10.05 |
[ BOJ / 파이썬 ] 15664 N과M(10) (0) | 2022.08.30 |
[ BOJ / 파이썬 ] 15657 N과M(9) (*다시 체크 요망, 덜 이해한듯*) (0) | 2022.08.30 |
[ BOJ / 파이썬 ] 15657 N과M(8) (0) | 2022.08.29 |