본문 바로가기
백준

N과 M (2) - 15650 번

by 청원뿔세포 2022. 10. 3.

백트래킹 함수에서 바로 출력하지 않고 미리 배열에 담아둔 다음 중복되는 것을 빼고 출력해주는 과정을 마지막에 넣어줬다.

 

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

댓글