n, m = map(int, input().split())
visited=[]
def dfs():
if len(visited) == m:
print(' '.join(map(str, visited)))
for i in range(1, n+1):
if i not in visited:
visited.append(i)
dfs()
visited.pop()
dfs()
백트래킹 문제라서 DFS로 문제를 풀 수 있다. DFS를 공부해서 어렵지 않게 이해하고 풀 수 있었다.
맨 처음에는 visited=[0]*n으로 방문을 확인하려고 하는데 다른 사람의 코드를 보니 아예 리스트에 방문했던 값을 넣고, 해당 값을 출력하는 방법이 있어 더 쉽게 풀 수 있다는 것을 알았다.
N과 M 문제가 여러 개 있어 더 풀어볼 예정이다!