백트래킹 함수에서 바로 출력하지 않고 미리 배열에 담아둔 다음 중복되는 것을 빼고 출력해주는 과정을 마지막에 넣어줬다.
n, m = map(int,input().split())
arr = [0] * 10
visited = [False] * 10
ans = []
def bt(idx):
if idx == m:
p = arr[:m]
p.sort()
ans.append(p)
return
for i in range(1, n+1):
if not visited[i]:
arr[idx] = i
visited[i] = True
bt(idx+1)
visited[i] = False
bt(0)
result = []
for i in ans:
if i not in result:
for j in i:
print(j,end=' ')
print()
result.append(i)
'백준' 카테고리의 다른 글
미로탐색 - 2178 번 (0) | 2022.10.04 |
---|---|
유기농 배추 - 1012번 (0) | 2022.10.04 |
N과 M (1) - 15649 번 (0) | 2022.10.02 |
ACM 호텔 - 10250 번 (0) | 2022.10.01 |
이항 계수 1 - 11050번 (0) | 2022.10.01 |
댓글