N과M (2)

김준오·2021년 8월 26일
0

알고리즘

목록 보기
41/91
post-thumbnail

문제

풀이1 combination 모듈

import sys
input = sys.stdin.readline
from itertools import combinations

n,m = map(int,input().split())
for i in combinations(range(1,n+1),m):
  print(' '.join(map(str,i)))

풀이2 재귀

import sys
input = sys.stdin.readline

n,m = map(int,input().split())

arr = []
def perm():
  if len(arr) == m:
    print(' '.join(map(str,arr)))
    return
  
  for i in range(1,n+1):
    if len(arr) > 0:
      if i <= max(arr):
        continue

    arr.append(i)
    perm()
    arr.pop()

perm()

풀이는 1을 모듈, 2를 재귀로 해놓긴 했는데
코드 돌리는건 재귀를 먼저 돌렸다

결과에서는 반대순서로 보면 될것같다!
속도는 똑같은것같다

순열 조합 모듈들
내부 구현이 뭐로 되어있나 찾아봐야겠다

결과

profile
jooooon

0개의 댓글