[실버2] 15650번 : N과 M(2)

Quesuemon·2021년 3월 31일
0

코딩테스트 준비

목록 보기
52/111

🛠 문제

https://www.acmicpc.net/problem/15650


👩🏻‍💻 해결 방법

1,2와 2,1처럼 중복되지 않게 하기 위해 solve 함수에 idx 인자를 추가로 주어 중복되지 않는 값들을 출력할 수 있었다

소스 코드

n, m = map(int, input().split())
visit = [False] * (n+1)
out = []

def solve(count, idx, n, m):
  if count == m:
    print(' '.join(map(str, out)))
    return
  
  for i in range(idx, n+1):
    if not visit[i]:
      visit[i] = True
      out.append(i)
      solve(count+1, i+1, n, m)
      visit[i] = False
      out.pop()
  
solve(0, 1, n, m)

0개의 댓글