백준
N과 M (2) - 15650 번
청원뿔세포
2022. 10. 3. 14:27
백트래킹 함수에서 바로 출력하지 않고 미리 배열에 담아둔 다음 중복되는 것을 빼고 출력해주는 과정을 마지막에 넣어줬다.
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)