https://www.acmicpc.net/problem/15649
해결 방법 : 문제 설명을 보면 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열을 구하는 문제인 것을 알 수 있다.
이것을 잘 생각해보면 학창시절에 배웠던 수학이 하나 떠오르는데 그것은 바로 "서로 다른 N개에서 M개를 구하는 방법 즉 "순열"" 이다. 파이썬에서 순열을 구하는 permutation 함수가 존재한다. 그것을 이용하여 풀었다.
코드
더보기
import itertools
a, b = map(int, input().split())
table = []
for i in range(a):
table.append(str(i+1))
p_list = list(map(' '.join, itertools.permutations(table,b)))
for i in p_list:
print(i)
'알고리즘' 카테고리의 다른 글
백준_4963_섬의 개수 (0) | 2020.01.20 |
---|---|
백준_1389_케빈 베이컨의 6단계 법칙 (0) | 2020.01.17 |
백준_2178_미로 탐색 (0) | 2020.01.16 |
백준_7576_토마토 (0) | 2020.01.15 |
서로소 집합(disjoint set) 연습 (0) | 2020.01.14 |
댓글