N, M = map(int, input().split())
num_list = [i + 1 for i in range(N)]
check_list = [False] * N
arr = []
def dfs(cnt):
# 주어진 만큼 출력한다.
if(cnt == M):
print(*arr)
return
for i in range(0, N):
if(check_list[i]):
continue
arr.append(num_list[i])
dfs(cnt + 1)
check_list[i] = True
arr.pop()
for j in range(0, N):
check_list[j] = False
dfs(0)
'# 코딩 문제 관련 > 파이썬' 카테고리의 다른 글
백준 9963번(python) (0) | 2019.12.31 |
---|---|
백준 15652번(python) (0) | 2019.12.31 |
백준 15650번(python) (0) | 2019.12.31 |
백준 15649번(python) (1) | 2019.12.31 |
백준 1912번(python) (0) | 2019.08.20 |