[BOJ 파이썬] - N과 M (1) (15649번)
문제
접근
n개의 자연수 중 m개를 뽑아 '순열'을 만드는 간단한 문제입니다.
DFS 방식으로 접근하여 해결하였습니다.
itertools 라이브러리의 permutations를 사용하면 더 빠르고 간단하게 풀수도 있습니다.
풀이
DFS 사용
import sys
n, m = map(int, sys.stdin.readline().split())
def DFS(level):
if level == m:
print(*res)
else:
for i in range(1, n+1):
if ch[i] == 0:
ch[i] = 1
res[level] = i
DFS(level + 1)
ch[i] = 0
ch = [0] * (n + 1)
res = [0] * m
DFS(0)
itertools 라이브러리의 permutations 사용
from itertools import permutations
n, m = map(int, input().split())
permu = permutations(range(1, n+1), m)
for i in permu:
print(*i)
Author And Source
이 문제에 관하여([BOJ 파이썬] - N과 M (1) (15649번)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rmsry123/BOJ-파이썬-N과-M-1-15649번저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)